0

私は jogl ネイティブ jar を使用しています (説明どおり -> http://jogamp.org/jogl/doc/userguide/#automatednativelibraryloading )。説明されているように、Eclipse を介して jar をエクスポートしたいと思います -> http://jogamp.org/ wiki/index.php/JogAmp_JAR_File_Handling . 最初のアプローチは機能していますが、2番目のアプローチは機能していません。もちろん、すべてを1つのjarファイルに入れたいと思います。

誰かがこの問題に遭遇し、彼の解決策を共有できますか?

Windows 7 64ビット、Java 64ビット、Eclipse 4.3、および最新のjoglライブラリを実行しています。

ps私もantスクリプトを試しました:

    <jar destfile="${dist.dir}/${app.name}-${app.version}.jar">
        <manifest>
            <attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
            <attribute name="Rsrc-Main-Class" value="com.home.pso.Uruchom"/>
            <attribute name="Class-Path" value="."/>
            <attribute name="Rsrc-Class-Path" value="./ gluegen-rt.jar gluegen-rt-natives-windows-amd64.jar jogl-all.jar jogl-all-natives-windows-amd64.jar"/>
        </manifest>
        <zipfileset src="jar-in-jar-loader.zip"/>
        <fileset dir="${bin.dir}"/>
        <zipfileset dir="${lib.dir}" includes="*.jar"/>
    </jar>

ps2 名前の競合 (異なるプラットフォーム) のため、サードパーティのプログラムを使用せずに、できればネイティブ ライブラリ (.dll、.so) を使用しない、最も簡単な方法で実行したいと思います。

回答ありがとうございます。

編集:

アプリケーションで実行可能なjarを作成したいということを忘れていました。

そして、2番目のアプローチで作成したjarを実行した後、次のエラーが発生します。

ezekiel@vm-ubuntu:~/Pulpit/workspace/pso/lib$ 
/home/ezekiel/Pulpit/jdk1.7.0_40/jre/bin/java' -jar '/home/ezekiel/Pulpit/pso-1.0.jar' 
Catched URISyntaxException: Expected scheme-specific part at index 5: rsrc:, while    
TempJarCache.bootstrapNativeLib() of null (null + gluegen-rt-natives-linux-amd64.jar)
Exception in thread "main" java.lang.reflect.InvocationTargetException
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:606)
     at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /home/ezekiel/Pulpit/workspace/pso/lib/libgluegen-rt.so
     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1846)
     at java.lang.Runtime.load0(Runtime.java:795)
     at java.lang.System.load(System.java:1061)
     at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:468)
     at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63)
     at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:94)
     at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:332)
     at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:390)
     at com.jogamp.common.os.Platform$1.run(Platform.java:210)
     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 javax.media.opengl.awt.GLCanvas.<init>(GLCanvas.java:247)
     at javax.media.opengl.awt.GLCanvas.<init>(GLCanvas.java:197)
     at javax.media.opengl.awt.GLCanvas.<init>(GLCanvas.java:187)
     at com.home.pso.Uruchom.main(Uruchom.java:74)
     ... 5 more

Linuxでもこれをテストしました^^

4

2 に答える 2

1

ここに解決策があります http://forum.jogamp.org/exporting-runnable-jar-through-eclipse-td4030094.html#a4030096 機能しましたが、一部のリリースで停止しました。

于 2013-09-22T15:53:34.457 に答える