我正在尝试使用LTE-CIVIL,我刚刚获得了库并将no-swt.jar和本机win32 .jar添加到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)
答案 0 :(得分:2)
当您的应用程序使用任何本机库或dll时,会出现此错误。要解决此问题,您必须添加dll java.library.path变量。 就像你的Native dlls是C:/ Work / lti-civil / native / win32-x86中的presnet那样你必须添加 在使用任何民间类之前使用以下代码
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加载到你的应用程序中。