Je reçois un UnsupportedClassVersionError lancé lors du lancement de jnlp, mais quand j'essaie d'exécuter les fichiers jar pertinents à partir de la ligne de commande tout fonctionne bien. J'ai essayé de mettre les versions j2se à 1.5+, 1.6+, en utilisant des fichiers jar signés/non signés, mais tout cela n'aide pas.Pourquoi est-ce que j'obtiens UnsupportedClassVersionError dans jnlp?
J'essaie de lancer mon propre fichier jar avec deux fichiers jar de support (mysql-connector.jar et swingx.jar). Mon fichier jar a été compilé avec 1.6 paramètres de conformité dans Eclipse et construit dans un pot avec fourmi. Depuis que je peux lancer les 3 jars de la ligne de commande en utilisant Java 1.6, je suis un peu déconcerté que jnlp échoue. Toute aide est appréciée.
Voici le fichier jnlp:
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File -->
<jnlp spec="1.5+" codebase="http://www.etc.com/p" href="demo-daily.jnlp">
<information>
<title>demo: daily stock charting utility</title>
<offline-allowed/>
</information>
<security>
</security>
<resources>
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.6+" />
<jar href="demo-daily.jar" main="true" />
<jar href="swingx.jar" main="false" />
<jar href="mysql-connector.jar" main="false" />
</resources>
<application-desc main-class="quipu.viewers.charts.stockcharts.daily"/>
</jnlp>
L'erreur que je reçois est:
java.lang.UnsupportedClassVersionError: numéro de version dans le fichier Bad .class à java.lang.ClassLoader.defineClass1 (Procédé natif) à java.lang.ClassLoader.defineClass (ClassLoader.java:675) à java.security.SecureClassLoader.defineClass (SecureClassLoader.java:124) à java.net.URLClassLoader.defineClass (URLClassLoader.java:260) sur java.net. URLClassLoader.access $ 100 (URLClassLoader.java:56) à java.net.URLClassLoader 1.run $ (URLClassLoader.java:195) à java.security.AccessController.doPrivileged (Native Method) à java.net.URLClassLoader.findClass (URLClassLoader.java:188) à com.sun.jnlp.JNLPClassLoader.findClass (JNLPClassLoader.java:256) à java.lang.ClassLoader.loadClass (ClassLoader.java:316) à java.lang.ClassLoader.loadClass (ClassLoader.java:251) à com.sun.javaws.Launcher.doLaunchApp (Launcher.java:1052) à com.sun.javaws.Launcher.run (Launcher.java:105) à java.lang.Thread .run (Thread.java:613)
Merci pour votre réponse Eddie. J'étais sous l'hypothèse que web start téléchargerait le JRE requis et l'exécuterait, s'il n'était pas disponible sur le système. J'ai mis à jour à la dernière JRE sur mon mac et je suis passé ce problème - merci pour votre aide! –