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

NetBeans Java Discussion :

un fichier .JAR crée par NetBeans qui ne s'exécute pas


Sujet :

NetBeans Java

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut un fichier .JAR crée par NetBeans qui ne s'exécute pas
    Bonjour,
    Je doit réaliser une application en java embarqué, j'ai choisi le J2ME comme language et le NetBeans comme outil de développement
    Je suis débutante en NetBeans alors à l'aide d'un tutoriale j'ai pu créer mon premier exemple : HelloWord . Il s'exécute bien et je vois le message sur le simulateur.
    J'ai créer mon fichier HelloWors.Jar à l'aide de " Clean & Built" le fichier .JAR et .JAD sont créer sous le dossier dist ...
    Mon problème lorsque je clique 2 fois sur le fichier .JAR le message suivant apparait : " Failed to load Main - Class Manifest attribute from ...."
    J'ai chercher sur le net et j'ai trouver qu'il faut modifier le fichier manifest.MF alors j'ai décompressé le fichier .JAR j'ai ajouter au fichier : HelloWord\META-INF \ MANIFEST.MF
    cette ligne Main-Class : packageMidlet.MaMidlet

    Qui contient déjà :

    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
     
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.0
    Created-By: 14.0-b16 (Sun Microsystems Inc.)
    MIDlet-1: maMidlet, ,packageMidlet.MaMidlet
    MIDlet-Vendor: Vendor
    MIDlet-Name: HelloWord
    MIDlet-Version: 1.0
    MicroEdition-Configuration: CLDC-1.1
    MicroEdition-Profile: MIDP-2.1
     
     
    packageMidlet : le dossier ou j'ai ma classe principale
     
    MaMidlet : Ma classe principale

    Ensuite j'ai compresser les deux dossier " packageMidlet " et "META-INF"
    dans un dossier " HelloWord "
    Enfin j'ai changer le .rar par le .jar.

    Et mnt quand je clique 2 fois sur le nouveau .jar ce messsage apparait : " Invalid or corrupt jarfile c:\ ... "
    J'ai plus que 3 jours que je ss bloqué
    SVP qui pouvez m'aider .
    Merci

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 815
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 815
    Points : 7 644
    Points
    7 644
    Par défaut
    Salut

    Citation Envoyé par Fadwa_Ing Voir le message
    Enfin j'ai changer le .rar par le .jar.
    à ma connaissance, les jar sont des fichiers zip, pas des fichier rar... donc essaye en compressant en zip et en changeant l'extension comme tu l'as fait.

    Ensuite, vérifie que tu aies la bonne arborescence dans ton archive, et qu'il n'y ait pas un niveau de répertoire en trop

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par plegat Voir le message
    Salut



    à ma connaissance, les jar sont des fichiers zip, pas des fichier rar... donc essaye en compressant en zip et en changeant l'extension comme tu l'as fait.

    Ensuite, vérifie que tu aies la bonne arborescence dans ton archive, et qu'il n'y ait pas un niveau de répertoire en trop
    J'ai telechargé un logiciel pour compresser le fichier en .zip et j'ai changer le .zip par .jar , mais j'ai le même message qui apparait " Invalid or corrupt jarfile c:\ ... "

    j'ai changé la ligne que j'ai ajouter et qui indique le nom de ma classe j'ai essayé:

    Main-Class : HelloWord.packageMidlet.MaMidlet

    Main-Class : packageMidlet.MaMidlet

    Main-Class :MaMidlet


    HelloWord le nom du dossier ou se trouve les deux dossiers "packageMidlet " et "META-INF".

    Mais encore le même problème et le même message.

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 815
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 815
    Points : 7 644
    Points
    7 644
    Par défaut
    Citation Envoyé par Fadwa_Ing Voir le message
    HelloWord le nom du dossier ou se trouve les deux dossiers "packageMidlet " et "META-INF".
    Euh... rassure-moi, pas dans le zip? packageMidlet et META-INF doivent être à la racine du zip, sinon ça balance l'erreur en question.

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par plegat Voir le message
    Euh... rassure-moi, pas dans le zip? packageMidlet et META-INF doivent être à la racine du zip, sinon ça balance l'erreur en question.
    SVP j'ai pas compris c'est quoi la racine du zip.
    Si vous pouvez m'expliquer il s'agite de quoi ou comment je peux le faire .
    Merci

  6. #6
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 815
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 815
    Points : 7 644
    Points
    7 644
    Par défaut
    Citation Envoyé par Fadwa_Ing Voir le message
    SVP j'ai pas compris c'est quoi la racine du zip.
    C'est le premier niveau d'arborescence quand tu l'ouvres... normalement tu dois y trouver tous tes packages et le répertoire META-INF. Mais si tu y trouves un seul répertoire, et que dans ce répertoire tu as tes packages et le META-INF, alors ce n'est pas bon et il va te dire que le fichier jar est invalide. Donc vérifie ça.

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par plegat Voir le message
    C'est le premier niveau d'arborescence quand tu l'ouvres... normalement tu dois y trouver tous tes packages et le répertoire META-INF. Mais si tu y trouves un seul répertoire, et que dans ce répertoire tu as tes packages et le META-INF, alors ce n'est pas bon et il va te dire que le fichier jar est invalide. Donc vérifie ça.
    Merci Bien.
    C'est bien ça le problème
    Maintenant il y a une exception qui apparait :


    Exception in thread main jav.io.IOException invalid header field name : Main-Class
    at java.util.jar.Attributes.read Unknown Source
    at java.util.jar.Manifeste.read Unknown Source
    at java.util.jar.Manifeste.init Unknown Source
    at java.util.jar.jarfile.getManifestFromReference Unknown Source
    at java.util.jar.jarfile.getManifest Unknown Source


    Alors j'ai ajouté : Class-path: .\nbproject\private\private.properties .\nbproject\genfiles.properties .\nbproject\build-impl .\nbproject\project .\nbproject\project.properties

    dans le fichier Manifest.

    Mais la même exception s'affiche.

    ( J'ai dit que peut etre il y a une différence entre la langage JAVA et la J2ME et je ne peut pas exécuter le .jar sur windows xp et il faut la tester sur mon windows Mobile ( mon pocket pc) , ou bien ça n'a rien à voire?? )

  8. #8
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 815
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 815
    Points : 7 644
    Points
    7 644
    Par défaut
    Et accessoirement, on pourrait savoir ce que tu as mis exactement dans ton manifest?
    Je soupçonne un espace en trop entre "Main-Class" et les deux-points, mais vu que tu ne donnes pas le fichier...

  9. #9
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par plegat Voir le message
    Et accessoirement, on pourrait savoir ce que tu as mis exactement dans ton manifest?
    Je soupçonne un espace en trop entre "Main-Class" et les deux-points, mais vu que tu ne donnes pas le fichier...
    Vous avez raison il y a un espace en trop.
    ( j'ai enlevé l'espace et j'ai sauter une ligne à la fin du fichier )

    Mon fichier MANIFEST.MF :

    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.0
    Created-By: 14.0-b16 (Sun Microsystems Inc.)
    MIDlet-1: MaMidlet, , hello.MaMidlet
    MIDlet-Vendor: Vendor
    MIDlet-Name: MaMidlet
    MIDlet-Version: 1.0
    MicroEdition-Configuration: CLDC-1.1
    MicroEdition-Profile: MIDP-2.1
    Main-Class: hello.MaMidlet

    hello : nom du package
    MaMidlet : Classe principale




    Et encore l'erreur qui apparait maintenant c'est :


    C:\>java -jar MaMidlet.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/microedition/lc
    dui/CommandListener
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: javax.microedition.lcdui.CommandLis
    tener
    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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 12 more
    Could not find the main class: hello.MaMidlet. Program will exit.


    Puisque je suis débutante je veux savoir si le problème est causé par le faite que je travaille avec J2ME.

    Sur NetBeans j'ai des exemples prédéfinie :
    - j'ai essayer d'exécuter un projet JAVA Application ( il s'agit d'un éditeur ...) j'ai créer le fichier .jar de cette application et tout marche très bien...
    - j'ai essayer d'exécuter un projet Mobile Application ( il s'agit d'un album photo ... ) j'ai créer le fichier .jar de cette application mais le message " Failed to load Main - Class Manifest attribute from ...." s'affiche.

    Alors peut être qu'il manque quelque chose de NetBeans ou bien le jre ou le jdk installé ne se conforme pas avec la langage J2ME.

    je me pose comment l'application Mobile (J2ME) va être exécuter avec .jar alors qu'il est indispensable du simulateur ?

    Merci bien pour votre aide

  10. #10
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 815
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 815
    Points : 7 644
    Points
    7 644
    Par défaut
    Citation Envoyé par Fadwa_Ing Voir le message
    Alors peut être qu'il manque quelque chose de NetBeans ou bien le jre ou le jdk installé ne se conforme pas avec la langage J2ME.
    Disons que si tu essayes de lancer une appli J2ME avec un JRE ou un JDK JSE, tu risques d'avoir des soucis... de NoClassDefFoundError en outre (le package javax.microedition ne fait pas partie du JDK si je ne m'abuse).

    Donc vérifie avec quoi tu lances ton appli JME...

    Bon, après, je ne suis pas un expert JME, donc si quelqu'un connait plus mieux...

  11. #11
    Expert confirmé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Points : 4 740
    Points
    4 740
    Par défaut
    Bonjour,

    Le sujet ici n'est pas tellement un pb netbeans mais davantage un problème de compréhension de ce qu'est JME.

    Comme l'explique plegat au dessus, un projet JME ne s'exécute que dans un environnement spécial (typiquement, un téléphone portable, un émulateur...). Cet environnement fournit une JVM particulière, avec un certain nombre d'API disponibles.

    Lorsque tu double cliques sur ton jar, tu lances la JVM du JRE installé sur ton ordinateur. Il ne contient pas les mêmes API que JME, et il est normal que ton projet ne fonctionne pas.
    Lorsque tu utilises l'émulateur, les API sont disponibles, et ton projet fonctionne.

    Donc tout est normal

    Valère

  12. #12
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Valère Voir le message
    Bonjour,

    Le sujet ici n'est pas tellement un pb netbeans mais davantage un problème de compréhension de ce qu'est JME.

    Comme l'explique plegat au dessus, un projet JME ne s'exécute que dans un environnement spécial (typiquement, un téléphone portable, un émulateur...). Cet environnement fournit une JVM particulière, avec un certain nombre d'API disponibles.

    Lorsque tu double cliques sur ton jar, tu lances la JVM du JRE installé sur ton ordinateur. Il ne contient pas les mêmes API que JME, et il est normal que ton projet ne fonctionne pas.
    Lorsque tu utilises l'émulateur, les API sont disponibles, et ton projet fonctionne.

    Donc tout est normal

    Valère

    Merci Bien pour votre réponse
    Alors je dois exécuter directement mon application en choisissant run with ...
    et je choisit mon pocket pc ( c'est ce que j'ai compris).
    Vous avez une idée comment ajouter une platforme sur NetBeans ?? ( au lieu de l'exécuter sur l'emulateur )
    Merci une autre fois

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/02/2011, 12h03
  2. Réponses: 2
    Dernier message: 05/05/2008, 17h08
  3. remplacement carré par ; dans un fichier excel crée par une macro
    Par om51ft dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/11/2007, 16h00
  4. Fichier JAR généré par netBeans
    Par restricteur dans le forum NetBeans
    Réponses: 4
    Dernier message: 20/09/2007, 02h20
  5. Probleme: fichier .jar généré par FatJar
    Par gnaoui_9999 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 08/11/2006, 17h01

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