또 다른 Java jar 질문 게시에 사과드립니다. 기존 similar questions을 살펴 봤지만 기존 답변에서 찾은 조언을 사용하여 Example 클래스를 실행하지 못했습니다.지난 CLASSPATH 문제를 해결하고 OSX에서 OpenKinect Java 예제를 컴파일하려면 어떻게해야합니까?
는 여기에 지금까지 시도 무엇 : 그것은 OpenKinect의 경로를 찾지 못했습니다처럼
george-profenzas-macbook:src george$ ls
Example.java org
george-profenzas-macbook:src george$ javac -cp $CLASSPATH Example.java
george-profenzas-macbook:src george$ ls
Example$1.class Example$2.class Example$3.class Example.class Example.java org
george-profenzas-macbook:src george$ java -cp $CLASSPATH Example
Exception in thread "main" java.lang.UnsatisfiedLinkError: no OpenKinect in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at org.openkinect.Context.<clinit>(Context.java:43)
at Example.main(Example.java:52)
george-profenzas-macbook:src george$ echo $CLASSPATH
/Users/george/Downloads/shiffman-libfreenect-2e0f185/wrappers/java/dist/OpenKinect.jar:.
보인다. 내가 다시 예제를 실행하려고 같은 폴더 (cp ../../dist/OpenKinect.jar
)에서 항아리를 복사하려고 :
george-profenzas-macbook:src george$ java -cp OpenKinect.jar Example
Exception in thread "main" java.lang.NoClassDefFoundError: Example
Caused by: java.lang.ClassNotFoundException: Example
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
지금은 예 경로를 찾지 못했습니다 그것을 것을, 그래서 나는 .
$CLASSPATH
에서 작동하지 않았다 가정 나는 이유를 모른다.
george-profenzas-macbook:src george$ java -cp "OpenKinect.jar:./Example.java" Example
Exception in thread "main" java.lang.NoClassDefFoundError: Example
Caused by: java.lang.ClassNotFoundException: Example
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
george-profenzas-macbook:src george$ java -cp "OpenKinect.jar:." Example
Exception in thread "main" java.lang.UnsatisfiedLinkError: no OpenKinect in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at org.openkinect.Context.<clinit>(Context.java:43)
at Example.main(Example.java:52)
george-profenzas-macbook:src george$ java -cp .:OpenKinect.jar Example
Exception in thread "main" java.lang.UnsatisfiedLinkError: no OpenKinect in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at org.openkinect.Context.<clinit>(Context.java:43)
at Example.main(Example.java:52)
그 중 하나가 항아리의 경로를 찾는 것 같다,하지만 예 또는 다른 방법으로 주위와에 나는 서클에서 뛰어 다니고있다. 나는, 1.6 64 비트를 가리 키도록 그렇게 java -version
인쇄 자바 경로를 설정하지 :
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
을하고 난 /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Libraries
에 /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Classes
과 jnilib에 항아리를 복사,하지만 기쁨.
팁이 있습니까?
그럴 수도 있습니다. 언급했듯이, OpenKinect.so 라이브러리가 있으므로'java -cp $ CLASSPATH -Djava.library.path = ../../dist/libOpenKinect.so Example'하지만'main "스레드에서 예외가 발생했습니다 .lang.UnsatisfiedLinkError : java.lang.ClassLoader.loadLibrary (ClassLoader.java:1758)에서 java.library.path \t에는 OpenKinect하지 java.lang.Runtime.loadLibrary0에서 \t (Runtime.java:823) \t에서 java.lang.System.loadLibrary (System.java:1045) \t at org.openkinect.Context. \t at Example.main (Example.java:52) –
.so 파일 즉, dist 폴더가 아닌 경로를 지정하십시오. –
('java -cp $ CLASSPATH -Djava.library.path = ../../dist/Example'), 많은 행운은 없었습니다. ('예외 스레드 "main"java.lang.UnsatisfiedLinkError : no OpenKinect java.library.java.lang.ClassLoader.loadLibrary (ClassLoader.java:1758) java.lang.Runtime.loadLibrary0에서 \t (Runtime.java:823)에서 경로 \t java.lang.System.loadLibrary (System.java에서 \t : 1045) \t at org.openkinect.Context. (Context.java:43) \t at Example.main (Example.java:52) –