Bonjour,

J'ai une application Java3D lancée deuis un jnlp qui marchait bien jusqu'à présent depuis le Web.
Avec Java 7 cela bug. (enfin je suppose que c'est depuis la jre7 ...)

Voici un extrait de la console Java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Exception in thread "J3D-MasterControl-1" java.lang.NullPointerException
	at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
	at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
	at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
	at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
	at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
	at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
	at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
	at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
	at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
	at sun.plugin2.applet.JNLP2ClassLoader.findClass(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
	at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at javax.media.j3d.Renderer.<init>(Renderer.java:87)
	at javax.media.j3d.MasterControl$8.run(MasterControl.java:1189)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.media.j3d.MasterControl.createRenderer(MasterControl.java:1184)
	at javax.media.j3d.MasterControl.sendRenderMessage(MasterControl.java:2985)
	at javax.media.j3d.MasterControl.handlePendingRequest(MasterControl.java:3282)
	at javax.media.j3d.MasterControl.doWork(MasterControl.java:3121)
	at javax.media.j3d.MasterControlThread.run(MasterControlThread.java:67)
La solution que j'ai trouvé pour l'instant c'est de mettre dans le ../jre/lib/ext les 3 librairies Java3D, à savoir : j3dcore.jar, j3dutils.jar et vecmath.jar.


Théoriquement mon jnlp devrait les avoir télécharger ...

Voici mon jnlp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?xml version="1.0" encoding="utf-8"?> 
<!-- JNLP File for MyDataBall --> 
 
<jnlp spec="1.5+" codebase="." href="MyDataBall.jnlp"> 
 
    <information> 
        <title>MyDataBall</title> 
        <vendor>MyDataBall</vendor> 
        <description>MyDataBall</description> 
        <description kind="short">MyDataBall</description> 
        <offline-allowed/> 
    </information>
 
    <security> 
        <all-permissions/>
    </security>
 
    <resources>
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" initial-heap-size="64m" max-heap-size="256m"/>
        <jar href="MyDataBall.jar" main="true" download="eager"/>
		<jar href="mydataball-file.jar" download="eager"/>
        <jar href="jaxen-1.1.1.jar" download="eager"/>
        <jar href="dom4j-1.6.1.jar" download="eager"/>
		<jar href="registry.jar" download="eager"/>
		<!-- <jar href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jar" download="eager"/> -->
		<!-- <jar href="http://download.java.net/media/gluegen/webstart/gluegen-rt.jar" download="eager"/> -->
        <!-- <extension href="java3d-latest.jnlp"/> -->
    </resources>
 
	<resources os="Mac OSX">
	</resources>
 
	<resources>
		<jar href="java3D/1.5.2/j3dcore.jar" download="eager"/>
		<jar href="java3D/1.5.2/j3dutils.jar" download="eager"/>
		<jar href="java3D/vecmath/1.5.2/vecmath.jar" download="eager"/>
	</resources>
 
	<resources os="Windows" arch="x86">
		<nativelib href="java3D/1.5.2/windows-i586/j3dcore-ogl-chk_dll.jar" download="eager"/>
		<nativelib href="java3D/1.5.2/windows-i586/j3dcore-ogl_dll.jar" download="eager"/>
		<nativelib href="java3D/1.5.2/windows-i586/j3dcore-d3d_dll.jar" download="eager"/>
	</resources>
 
	<resources os="Windows" arch="amd64">
		<nativelib href="java3D/1.5.2/windows-amd64/j3dcore-ogl_dll.jar" download="eager"/>
	</resources>
 
    <resources os="Windows">
    	<nativelib href="mydataball-native.jar" download="eager"/>
    </resources>
 
    <resources os="Linux" arch="i386">
    	<nativelib href="java3D/1.5.2/linux-i586/lib_j3dcore-ogl_so.jar" download="eager"/>
  	</resources>
 
  	<resources os="Linux" arch="x86">
    	<nativelib href="java3D/1.5.2/linux-i586/lib_j3dcore-ogl_so.jar" download="eager"/>
  	</resources>
 
  	<resources os="Linux" arch="amd64">
    	<nativelib href="java3D/1.5.2/linux-amd64/lib_j3dcore-ogl_so.jar" download="eager"/>
  	</resources>
 
  	<resources os="Linux" arch="x86_64">
    	<nativelib href="java3D/1.5.2/linux-amd64/lib_j3dcore-ogl_so.jar" download="eager"/>
  	</resources>
 
  	<resources os="Mac OS X">
    	<property name="j3d.rend" value="jogl"/>
    	<extension name="jogl" href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp" />
 	</resources>
 
    <applet-desc name="MyDataBall" main-class="com.r2c.core.MyDataBall" width="900" height="600">
		<!-- <param name="filePath" value=""/> -->
	</applet-desc>
 
</jnlp>
Avez-vous une idée du problème ?

PS : j'ai bien signé tous les jar de ce jnlp