2012-11-20 44 views
5

我想使用LTE-公民,我剛剛得到了庫和添加的非SWT.JAR和本地的Win32的.jar是我在Eclipse項目,我得到這個錯誤。任何想法如何解決這個錯誤。我只是試圖運行該項目附帶的示例代碼。LTE公務員UnsatisfiedLinkError在Eclipse

Exception in thread "main" com.lti.civil.CaptureException:java.lang.UnsatisfiedLinkError: no civil in java.library.path at com.lti.civil.impl.jni.NativeCaptureSystemFactory.createCaptureSystem(NativeCaptureSystemFactory.java:24)at com.lti.civil.test.CaptureSystemTest.main(CaptureSystemTest.java:33)Caused by: java.lang.UnsatisfiedLinkError: no civil in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source)at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source)at com.lti.civil.impl.jni.NativeCaptureSystemFactory.createCaptureSystem(NativeCaptureSystemFactory.java:21) 

回答

2

當您的應用程序使用任何本機庫或dll時,會出現此錯誤。要解決這個問題,你必須添加dll java.library.path變量。 一樣,如果您的本機DLL是用C presnet:/工作/ LTI公務員/本地/ Win32的x86的,那麼你必須添加 下面的代碼使用任何民事類

System.setProperty("java.library.path", "C:/Work/lti-civil/native/win32-x86/"); 
    Field fieldSysPath = ClassLoader.class.getDeclaredField("sys_paths"); 
    fieldSysPath.setAccessible(true); 
    fieldSysPath.set(null, null); 

之前它加載的DLL到應用程序中。