2014-04-12 2 views
1

Eclipse에서 제대로 컴파일되고 실행되는 처리 요소가있는 Java 프로젝트가 있지만이를 실행 파일로 내 보내야합니다. Eclipse의 내보내기 마법사를 통해이 작업을 수행하면 jar 파일이 생성되지만 jar 파일은 두 번 클릭하거나 명령 줄에서 호출하면 런타임 오류가 발생합니다. 주어진 디렉토리에처리 요소가있는 Java 프로그램을 실행 가능한 jar로 내보내기

C:\Users\Rachel\School\MQP>java -jar Simworm14.jar 
Catched MalformedURLException: Could not open InputStream for URL 'rsrc:gluegen- 
rt-natives-windows-amd64.jar', while addNativeJarLibsImpl(classFromJavaJar class 
com.jogamp.common.os.Platform, classJarURI jar:rsrc:gluegen-rt.jar!/com/jogamp/ 
common/os/Platform.class, nativeJarBaseName gluegen-rt-natives-windows-amd64.jar 
): [ rsrc:gluegen-rt.jar -> rsrc: ] + gluegen-rt-natives-windows-amd64.jar -> sl 
im: jar:rsrc:gluegen-rt-natives-windows-amd64.jar!/ 
Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: Can't loa 
d library: C:\Users\Rachel\School\MQP\gluegen-rt.dll 
     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1706) 
     at java.lang.Runtime.load0(Runtime.java:770) 
     at java.lang.System.load(System.java:1003) 
     at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoad 
erBase.java:551) 
     at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.ja 
va:64) 
     at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNIL 
ibLoaderBase.java:96) 
     at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.j 
ava:414) 
     at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrar 
y(DynamicLibraryBundle.java:388) 
     at com.jogamp.common.os.Platform$1.run(Platform.java:203) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at com.jogamp.common.os.Platform.<clinit>(Platform.java:173) 
     at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:82) 
     at processing.opengl.PJOGL.initSurface(PJOGL.java:250) 
     at processing.opengl.PGraphicsOpenGL.initPrimary(PGraphicsOpenGL.java:62 
44) 
     at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:16 
25) 
     at processing.core.PApplet.run(PApplet.java:2177) 
     at java.lang.Thread.run(Thread.java:662) 

그래서 시도 붙여 넣기 gluegen-rt.dll 한 다음 나에게 대신이 오류 준 : 첫 번째는 저에게이를주고 있었다 일부 인터넷 검색 후

C:\Users\Rachel\School\MQP>java -jar Simworm14.jar 
Catched MalformedURLException: Could not open InputStream for URL 'rsrc:gluegen- 
rt-natives-windows-amd64.jar', while addNativeJarLibsImpl(classFromJavaJar class 
com.jogamp.common.os.Platform, classJarURI jar:rsrc:gluegen-rt.jar!/com/jogamp/ 
common/os/Platform.class, nativeJarBaseName gluegen-rt-natives-windows-amd64.jar 
): [ rsrc:gluegen-rt.jar -> rsrc: ] + gluegen-rt-natives-windows-amd64.jar -> sl 
im: jar:rsrc:gluegen-rt-natives-windows-amd64.jar!/ 
Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: C:\Users\ 
Rachel\School\MQP\gluegen-rt.dll: Can't find dependent libraries 
     at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807) 
     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703) 
     at java.lang.Runtime.load0(Runtime.java:770) 
     at java.lang.System.load(System.java:1003) 
     at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoad 
erBase.java:551) 
     at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.ja 
va:64) 
     at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNIL 
ibLoaderBase.java:96) 
     at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.j 
ava:414) 
     at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrar 
y(DynamicLibraryBundle.java:388) 
     at com.jogamp.common.os.Platform$1.run(Platform.java:203) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at com.jogamp.common.os.Platform.<clinit>(Platform.java:173) 
     at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:82) 
     at processing.opengl.PJOGL.initSurface(PJOGL.java:250) 
     at processing.opengl.PGraphicsOpenGL.initPrimary(PGraphicsOpenGL.java:62 
44) 
     at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:16 
25) 
     at processing.core.PApplet.run(PApplet.java:2177) 
     at java.lang.Thread.run(Thread.java:662) 

을,이 나타납니다 이 종속성 문제는 jogl : https://java.net/jira/browse/JOGL-346의 버그 일 수 있지만 Eclipse에서 처리 응용 프로그램을 내보낼 수있는 사람이 아무도 없다고 생각합니다. 방법이있을거야, 거기 있지?

제안 사항?

답변

0

처리하려면 네이티브 라이브러리가 필요합니다. 네이티브 라이브러리는 처리되지 않은 것처럼 보입니다. 최소한 JOGL 병을 넣어 두어야하지만 다른 시스템에 배포하는 데 도움이되지는 않습니다.

뻔뻔 자기 홍보 : http://StaticVoidGames.com/SvgExe/

: 나는 모든 시스템에서 작동하므로 자동 처리의 기본 라이브러리를 처리하는 자동 압축 풀림 실행 가능한 jar 파일을 만들 수있는 도구를 썼다
관련 문제