JNI code in Windows works with PATH but not java.library.path -


java 1.6 on windows working java library uses jni. want point @ dll's using java.library.path environment variable, doesn't work. when put same paths in path variable, works fine.

successful case:

c:>set path=\progra~1\company\compan~1\lib;\progra~1\java\jdk1.6.0_43\bin

(setting path without drive or spaces try avoid space issues, though jars , libraries on c drive)

java -cp %classpath% com.company.samples.ft.mainclass

unsuccessful case 1:

set path=\progra~1\java\jdk1.6.0_43\bin c:>java -djava.library.path=\progra~1\company\compan~1\lib -cp %classpath% com.company.samples.ft.mainclass ft\ft.cfg not load base company api library exception in thread "main" java.lang.unsatisfiedlinkerror: c:\program files\company\company client api\lib\companyapi.dll: can't find dependent libraries @ java.lang.classloader$nativelibrary.load(native method) @ java.lang.classloader.loadlibrary0(classloader.java:1807) @ java.lang.classloader.loadlibrary(classloader.java:1732) @ java.lang.runtime.loadlibrary0(runtime.java:823) @ java.lang.system.loadlibrary(system.java:1028) @ com.company.api.companyclientapiimpl.(companyclientapiimpl.ja va:113) @ com.company.samples.ft.mainclass.run(mainclass.java:130) @ com.company.samples.ft.mainclass.main(mainclass.java:498)

note here did find dll not dependencies, though has library path original windows path. java.library.path still lack jdk path, , still in path variable, let's try adding java.library.path:

c:\program files\company\company client apis\samples\jcapi>java -djava.library.path=\progra~1\company\compan~1\lib;\progra~1\java\jdk1.6.0_43\bin -cp %classpath% com.company.samples.ft.mainclass not load base company api library exception in thread "main" java.lang.unsatisfiedlinkerror: c:\program files\company\company client api\lib\companyapi.dll: can't find dependent libraries @ java.lang.classloader$nativelibrary.load(native method) @ java.lang.classloader.loadlibrary0(classloader.java:1807) @ java.lang.classloader.loadlibrary(classloader.java:1732) @ java.lang.runtime.loadlibrary0(runtime.java:823) @ java.lang.system.loadlibrary(system.java:1028) @ com.company.api.companyclientapiimpl.(companyclientapiimpl.java:113) @ com.company.samples.ft.mainclass.run(mainclass.java:130) @ com.company.samples.ft.mainclass.main(mainclass.java:498)

so java.library.path looking original path, library not found. idea problem here?

thanks, mike


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -