Bonjour,
Une application Rich Client Platform compilée avec JDK 1.4 est déployée via Java Web Start sur des postes utilisateurs installés avec la JRE 1.5, tout ça fonctionne très bien.
Dernièrement nous avons testé sur une machine avec la JRE 6 beta 3, et là horreur l'application ne se lance plus (sur cette même machine ave c JRE 1.5 c'était ok).
Le descripteur jnlp de l'application est le suivant (je modifie volontairement certaines valeurs pour confidentialité ) :
Code xml : 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 <jnlp spec="1.0+" codebase="http://host/domaine/client/app/" href="http://host/domaine/client/app/appli.jnlp"> <information> <title>appli Application</title> <vendor>SOCIETY</vendor> <homepage href="http://host/domaine/index.htm"/> <description>appli Application</description> <description kind="short">The appli application.</description> <icon href="http://host/domaine/client/app/applilogo.jpg" kind="default"/> <icon href="http://host/domaine/client/app/applilogo.jpg" kind="splash"/> </information> <security> <all-permissions/> </security> <update check="timeout" policy="always"/> <resources> <java version="1.4+"/> <jar href="http://host/domaine/client/app/lib/s_startup.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_com.appli_0.0.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.core.commands_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.core.expressions_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.core.runtime_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.help_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.jface_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.osgi_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.swt.win32_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.swt_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.ui.workbench_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.ui_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.update.configurator_3.1.0.jar" download="eager" main="false"/> <jar href="http://host/domaine/client/app/lib/plugins/s_org.eclipse.ui.presentations.r21_3.1.0.jar" download="eager" main="false"/> <property name="osgi.configuration.area" value="@user.home/appli/configuration"/> <property name="osgi.instance.area" value="@user.home/appli/workspace"/> <property name="eclipse.product" value="appli"/> <property name="server.url" value="http://host/domaine"/> <property name="webservice.url" value="http://host/domaine/serveur/services/appli"/> <property name="jnlp.url" value="http://host/domaine/client/app/appli.jnlp"/> <property name="icon.filename" value="appli.ico"/> <property name="lnk.filename" value="comappli.lnk"/> </resources> <application-desc main-class="org.eclipse.core.launcher.WebStartMain"> <argument>-application</argument> <argument>com.appli.appliApplication</argument> <argument>-clean</argument> </application-desc> </jnlp>
Sur cette machine JRE 1.6 beta 3 , j'ai tenté d'exécuter l'application en ligne de commande et ça fonctionne très bien :
Code dos : Sélectionner tout - Visualiser dans une fenêtre à part
1
2java -Dosgi.configuration.area=home/appli/configuration -Dosgi.instance.area=home/appli/workspace -Declipse.product=appli -Dserver.url=http://host/domaine -Dwebservice.url=http://host/domaine/serveur/services/TOTO -Djnlp.url=http://host/domaine/client/app/appli.jnlp -Dicon.filename=appli.ico -Dlnk.filename=appli.lnk -cp lib/s_startup.jar;lib/plugins/s_com.appli_0.0.0.jar;lib/plugins/s_org.eclipse.core.commands_3.1.0.jar;lib/plugins/s_org.eclipse.core.expressions_3.1.0.jar;lib/plugins/s_org.eclipse.core.runtime_3.1.0.jar;lib/plugins/s_org.eclipse.help_3.1.0.jar;lib/plugins/s_org.eclipse.jface_3.1.0.jar;lib/plugins/s_org.eclipse.osgi_3.1.0.jar;lib/plugins/s_org.eclipse.swt.win32_3.1.0.jar;./lib/plugins/s_org.eclipse.swt_3.1.0.jar;./lib/plugins/s_org.eclipse.ui.workbench_3.1.0.jar;./lib/plugins/s_org.eclipse.ui_3.1.0.jar;./lib/plugins/s_org.eclipse.update.configurator_3.1.0.jar;./lib/plugins/s_org.eclipse.ui.presentations.r21_3.1.0.jar org.eclipse.core.launcher.WebStartMain -application com.appli.appliApplication -clean
Quelques informations de journalisation concernant le problème : le fichier de trace généré par JWS ne contient rien, le fichier de log de JWS contient (pas grand chose à vrai dire) :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?xml version="1.0" encoding="windows-1252" standalone="no"?> <!DOCTYPE log SYSTEM "logger.dtd"> <log> </log>
Et le log généré par le lancement de l'application RCP (dans le répertoire configuration paramétré dans le jnlp) est le suivant :
Comme l'application se lance correctement via ligne de commande Java je pencherais pour un pb dans le descripteur jnlp mais je n'en suis pas sur, et je ne le vois pas, voyez vous une chose qui pourrait poser pb dans ce jnlp pour une migration de 1.5 à 1.6 ?
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 !SESSION Thu Nov 29 17:03:50 CET 2007 ------------------------------------------ !ENTRY org.eclipse.core.launcher 4 0 nov. 29, 2007 17:03:50.735 !MESSAGE Exception launching the Eclipse Platform: !STACK java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:312) at org.eclipse.core.launcher.Main.basicRun(Main.java:268) at org.eclipse.core.launcher.WebStartMain.basicRun(WebStartMain.java:50) at org.eclipse.core.launcher.Main.run(Main.java:942) at org.eclipse.core.launcher.WebStartMain.main(WebStartMain.java:35) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javaws.Launcher.executeApplication(Unknown Source) at com.sun.javaws.Launcher.executeMainClass(Unknown Source) at com.sun.javaws.Launcher.doLaunchApp(Unknown Source) at com.sun.javaws.Launcher.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
Voilà, si vous voulez d'autres informations dites moi quoi.
Auriez vous une idée, piste sur ce pb ?
Merci d'avance
Partager