Posted by
Traksewt on
Dec 04, 2012; 5:04pm
URL: https://forum.jogamp.org/Mac-JDK-7-signing-Jars-tp4027393.html
Hi, I'm battling getting a simple J3D demo working. I believe it is issues with jar signing. I get the error:
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 141816 us, pluginInit dt 4104943 us, TotalTime: 4246759 us
started!
java.lang.UnsatisfiedLinkError: no J3D in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at javax.media.j3d.MasterControl$22.run(MasterControl.java:891)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:888)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:233)
at test.J3DApplet.init(J3DApplet.java:32)
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Thread.java:722)
Ignored exception: java.lang.UnsatisfiedLinkError: no J3D in java.library.path
basic: Dialog type is not candidate for embedding
security: Reset deny session certificate store
Java Plug-in 10.9.2.05
Using JRE version 1.7.0_09-b05 Java HotSpot(TM) 64-Bit Server VM
I've copied all the jars from gluegen, jogl & Java3D into the one location.
My applet looks like:
<object
width="600" height="400">
<param name="code" value="org.jdesktop.applet.util.JNLPAppletLauncher">
<param name="archive" value="jar/applet-launcher.jar,
jar/gluegen-rt.jar,
jar/jogl-all.jar,
jar/testj3d.jar,
jar/vecmath.jar,
jar/j3dcore-pre5.jar,
jar/j3dutils.jar">
<param name="codebase_lookup" value="false">
<param name="subapplet.classname" value="test.J3DApplet">
<param name="subapplet.displayname" value="JOGL Test Java3D">
<param name="noddraw.check" value="true">
<param name="progressbar" value="true">
<param name="jnlpNumExtensions" value="1">
<param name="jnlpExtension1" value="
http://localhost/test/jogl-all-awt.jnlp">
<param name="java_arguments" value="-Dsun.java2d.noddraw=true">
<param name="jnlp_href" value="testj3d.jnlp">
<comment>
<embed code="org.jdesktop.applet.util.JNLPAppletLauncher"
width="600" height="400"
type="application/x-java-applet;version=1.6"
pluginspage="
http://java.sun.com/javase/downloads/ea.jsp"
archive="jar/applet-launcher.jar,
jar/gluegen-rt.jar,
jar/jogl-all.jar,
jar/testj3d.jar,
jar/vecmath.jar,
jar/j3dcore-pre5.jar,
jar/j3dutils.jar"
codebase_lookup="false"
subapplet.classname="test.J3DApplet"
subapplet.displayname" value="JOGL Test Java3D"
noddraw.check" value="true"
progressbar="true"
jnlpNumExtensions="1"
jnlpExtension1="
http://localhost/test/jogl-all-awt.jnlp"
java_arguments="-Dsun.java2d.noddraw=true"
jnlp_href="testj3d.jnlp">
<noembed>Sorry, no Java support detected.</noembed>
</embed>
</comment>
</object>
My testj3d.jnlp looks like:
<?xml version="1.0" encoding="utf-8"?>
<jnlp codebase="
http://localhost/test" href="testj3d.jnlp">
<information>
<title>JOGL JNLP Java3D test</title>
<vendor>O'Donoghue Lab</vendor>
<homepage href="
http://odonoghuelab.org/"/> <description>test j3d</description>
<description kind="short">Kennys Test</description>
<offline-allowed/>
</information>
<resources>
<j2se href="
http://java.sun.com/products/autodl/j2se" version="1.5+"/>
<property name="sun.java2d.noddraw" value="true"/>
<jar href="jar/vecmath.jar" />
<jar href="jar/j3dutils.jar" />
<jar href="jar/j3dcore-pre5.jar" />
<jar href="jar/testj3d.jar" main="true"/>
<extension name="jogl" href="
http://localhost/test/jogl-all-awt.jnlp"/> </resources>
<applet-desc
name="Test Java3D"
main-class="test.J3DApplet"
width="640"
height="480">
</applet-desc>
</jnlp>
I wrote a little script to help with signing all the jars. I used SHA-256 because otherwise it was giving an error saying it was corrupt when I was trying to verify it using jarsigner.
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 gluegen-rt.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 jogl-all.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 jogl-all-natives-windows-i586.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 gluegen-rt-natives-windows-amd64.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 jogl-all-natives-windows-amd64.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 gluegen-rt-natives-linux-i586.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 jogl-all-natives-linux-i586.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 gluegen-rt-natives-linux-amd64.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 jogl-all-natives-linux-amd64.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 gluegen-rt-natives-macosx-universal.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 jogl-all-natives-macosx-universal.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 j3dcore-pre5.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 j3dutils.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 vecmath.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 testj3d.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 jogl-demos.jar ww
jarsigner -keystore testKeys -storepass $1 -digestalg SHA-256 applet-launcher.jar ww
javaws -Xclearcache
---------
thanks in advance for any pointers
Kenny