2010-03-02 15 views
2

我寫了一個代碼,需要運行時2個dll。我在C:\Program Files\Java\jdk1.6.0_01\jre\bin中有這些dll文件。 我已經相應地設置了環境變量PATH。 它成功,然後編譯運行,同時它提供了以下錯誤:運行調用dll的java代碼時的LibraryNotFoundException

Exception in thread "main" java.lang.ExceptionInInitializerError 
     at teamdev.jxcapture.Capture.captureActiveWindow(Unknown Source) 
     at ppb.activewindow.execute(activewindow.java:24) 
     at ppb.activewindow.main(activewindow.java:68) 
Caused by: com.jniwrapper.LibraryNotFoundException: Cannot find JNIWrapper nativ 
e library (jniwrap.dll) in java.library.path: C:\Program Files\Java\jdk1.6.0_01\ 
jre\bin\jniwrap.dll 

有誰請幫我解決這個問題呢?

+0

'C:\ Program Files文件\ java的\ JDK 1.6 \ JRE \ bin'和'C:\ Program Files文件\的Java \ jdk1 .6.0_01 \ jre \ bin'不是一回事。這是一個錯字嗎? – 2010-03-02 11:11:48

+0

對不起,我的打字錯誤....我正在使用與JDK相同的JRE – PPB 2010-03-02 11:14:49

+0

你可以分享哪些dll被調用的代碼嗎? – Padmarag 2010-03-02 11:47:18

回答

1

java.library.path的值應該是目錄包含的DLL,而不是DLL本身的文件名。它看起來像你的java.library.path設置爲

C:\Program Files\Java\jdk1.6.0_01\jre\bin\jniwrap.dll 

,而不是

C:\Program Files\Java\jdk1.6.0_01\jre\bin 
+0

謝謝....感謝很多..它的工作 – PPB 2010-03-02 12:01:49