IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[Linux] Erreur de lancement


Sujet :

Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut [Linux] Erreur de lancement
    Bonjour à tous,

    je viens de tester mon application sous Linux pour voir si elle se lance, malheureusement j'obtiens un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Exception in thread "main" java.lang.ClassFormatError: Plaggio.LancementApplication (unrecognized class file version)
       at java.lang.VMClassLoader.defineClass(libgcj.so.70)
       at java.lang.ClassLoader.defineClass(libgcj.so.70)
       at java.security.SecureClassLoader.defineClass(libgcj.so.70)
       at java.net.URLClassLoader.findClass(libgcj.so.70)
       at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70)
       at java.lang.ClassLoader.loadClass(libgcj.so.70)
       at java.lang.ClassLoader.loadClass(libgcj.so.70)
       at gnu.java.lang.MainThread.run(libgcj.so.70)
    Je tiens à préciser qu'elle fonctionne tres bien sous XP. A quoi est dû ce petit probleme?
    Ma class Lancement ne sert qu'à lancer l'applciation après vérification de la JVM de l'utilisateur?

    Je me souviens plus trop du code, mais ca ressemble à ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    String version = System.getProperty("java.specification.version");
    if (Double.ValueOf(version)>1.5)
    {
    Lancer applic
    }
    else
    {
    Message mettez à jour
    }
    D'avance merci pour votre aide

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Le problème vient justement de ta JVM j'ai l'impression: tu utilises GCJ. Remplace-la par une JVM officielle de Sun et ça devrait aller mieux
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par CyberChouan
    Le problème vient justement de ta JVM j'ai l'impression: tu utilises GCJ. Remplace-la par une JVM officielle de Sun et ça devrait aller mieux
    Le problème vient surtout du fait que ta classe de lancement doit être compilé avec Java 5.0, ce qui produit du bytecode Java 5.0 impossible à exécuter sur une JVM inférieur...

    Ta classe de lancement doit être compilé en 1.4 (ou inférieur selon tes besoins) et vraiment se contenter du stricte minimum (à la rigueur il serait même mieux de la compiler avec un vrai JDK 1.4 ou inférieur)

    a++

  4. #4
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    merci à vous deux pour les reponses ( adiGuba: c'est toi qui a créé Internet...à chaque post t'es là pour répondre....c'est incroyable ca... t'es une sorte de bot humain ou quoi?)

    La compilation s'est faite en version 6 (j'utilise la classe Desktop , donc j'ai compilé en 6)

    Par contre, il se peut que ma version sous Linux soit ancienne (j'y avais pas pensé...)

    Vous avez une idée de comment installer JVM 6 sous linux (suis-je hors sujet?)

    D'avance merci

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Citation Envoyé par Terminator
    Vous avez une idée de comment installer JVM 6 sous linux (suis-je hors sujet?)
    On va dire que ça reste dans le cadre du problème initial

    Il te suffit d'aller sur le site de Sun et de télécharger java 6 pour Linux (exécutable .bin si tu n'aime pas les RPM), et de lancer cet exécutable en ligne de commande.

    Cependant, si tu compiles en java 6, ton test de version n'a aucun sens...
    Ton application vérifie que ta JRE est en version >= 6 alors qu'elle ne se lancera de toute façon pas si ta JRE est inférieure à cette version.

    Donc si ton programme se lance, la vérification de version est forcément validée (donc inutile)
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Terminator
    ( adiGuba: c'est toi qui a créé Internet...à chaque post t'es là pour répondre....c'est incroyable ca... t'es une sorte de bot humain ou quoi?)


    Citation Envoyé par Terminator
    La compilation s'est faite en version 6 (j'utilise la classe Desktop , donc j'ai compilé en 6)
    Il faudrait que tu compile la classe de lancement dans une version plus ancienne afin de pouvoir afficher ton message d'erreur après la vérification de la version, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -source 1.2 -target 1.2 Lancement.java
    Cela permettra même aux JVM plus anciennes d'exécuter cette classe


    Citation Envoyé par CyberChouan
    Il te suffit d'aller sur le site de Sun et de télécharger java 6 pour Linux (exécutable .bin si tu n'aime pas les RPM), et de lancer cet exécutable en ligne de commande.
    Sinon consulter la doc de ta distribution : certaines intègres une installations automatique (Ubuntu par exemple via apt-get).

    a++

  7. #7
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Voilà voilà qui est fait:

    j'ai installé la version 6 via sun et ses explications.

    Cela dit, je sais pas trop si j'ai bien fait ca

    Ils disent qu'apres install, il doit y avoir un "done", que j'ai bien eu, mais sous Windows, il s'ajoute au path, c'est le cs sous linux?

    Car qd je tape à nouveau Java -jar MonAppli.jar

    J'ai le meme probleme, mais je ne sais pas qi cela se lance avec la version qui était deja prinstallée ou avec la nouvelle!

    En ce qui concerne la recompilation , ce sera difficile pour l'instant car je suis sur un post Linux et plus sous Windows (fénéant que je suis , j'ai pas envie de relancer l'ordi our complier)

    Cela dit, si tu me dit que le probleme vient de là, je le ferai? Mais est-ce le cas cas?

    MErci à vous

    PS: j'ai ajouter Java dans mon navigateur web et j'ai testé via le test fourni sur le site de Sun, il fonctionne (java, pas le programme), mais SUR LE NAVIGATEUR WEB

Discussions similaires

  1. Erreurs au lancement d'un jar sous linux
    Par CinePhil dans le forum Débuter avec Java
    Réponses: 28
    Dernier message: 06/10/2014, 16h04
  2. [Tomcat] [linux]erreur lors du lancement de tomcat
    Par Asmod_D dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/09/2007, 17h13
  3. message d'erreur au lancement de l'appli
    Par parisien04 dans le forum JBuilder
    Réponses: 5
    Dernier message: 05/11/2003, 17h03
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. [Kylix] Erreur au lancement de K3 en open C++
    Par Glouferu dans le forum EDI
    Réponses: 9
    Dernier message: 14/03/2003, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo