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 :

Création de jar


Sujet :

NetBeans Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Création de jar
    voilà mon petit pb :
    mon prog marche très bien losque je le lance avec netbeans
    je construit un jar via netbeans
    --> Build : Build Main Project

    cependant le fichier JAR créé ne fonctionne pas et me donne le message d'erreur suivant :
    "Could Not Find the main class. Program will exist".

    Quelqu' un aurrait une idée pour éclairer le débutant que je suis ??
    Merci

  2. #2
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    As tu mis toutes les librairies dans ton jar ?

    Tu peux verifier en l'ouvrant avec un gestionnaire d'archive (zip).

    ok a+

  3. #3
    Membre émérite
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Points : 2 777
    Points
    2 777
    Par défaut
    Si l'application est exécutée avec l'option -jar (ou double-clic dans l'explorer Window), le fichier Jar doit contenir un manifest qui contient la ligne http://java.sun.com/j2se/1.4.2/runtime.html


    Sinon, que donne un
    ?

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Alors j'ai réussi à cibler mon pb
    Mais je ne sais toujours pas comment le résoudre.
    Mon MANIFEST est OK mais je pense qu' il me manque une classe de netbeans dans mon jar ou quelque chose comme ça.
    Car en mode console quand je lance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -jar monjar.jar
    il me donne l' erreur suivante :
    Exception in thread "main" Java.lang.NoClassDefFoundError :
    org/jdesktop/layout/groupLayout$Group ...

    me manque t il pas quelque chose pour l' affichage des fenêtres
    Je sui débutant mais il me semble que layout est un gestionnaire d'affichage.

  5. #5
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    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 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut

    Tu utilises la version 5.0 RC1?

    Il te manque le répertoire "lib" qui était avec ton fichier jar. Il contient le fichier swing-layout-1.0.jar
    Ou alors tu évites d'utiliser Matisse...
    Ou alors modifie ton classpath...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    j' ai placé le package de ma librairie avec le package de mon prog
    Je recommence à construire mon jar (Build).
    mon jar et alors plus lourd mais ça marche !! cool MERCI

    Ta solution consiste à lancer le prog de la facon suivante NON ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath : chemin monprog.jar
    quel solution est la meilleur la 1er ou la deuxième ??
    merci

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 40
    Points : 47
    Points
    47
    Par défaut
    Example:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath "toto.jar" -jar titi.jar
    avec dans toto.jar, la librairie
    et dans titi.jar, ton appli qui contient le "main"
    et dans le manifest de titi.jar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Main-Class: org.monorg.Titi
    ou mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -jar titi.jar
    avec dans toto.jar, la librairie
    et dans titi.jar, ton appli qui contient le "main"
    et dans le manifest de titi.jar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Main-Class: org.monorg.Titi
    Class-Path: . toto.jar

  8. #8
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    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 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par ragingcat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath "toto.jar" -jar titi.jar
    Il semblerait que cela ne marche pas, l'option -jar annulant -classpath (cf la discussion sur un précédent post: http://www.developpez.net/forums/viewtopic.php?t=444226)

    Il vaut mieux se rabattre sur la seconde solution que présente ragingcat
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  9. #9
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    ok merci beaucoup je vais tester la dexième solution :
    avec dans le MANIFEST ma class main et le classpath.

  10. #10
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    merci de m'indiquer comment je peux créer le fichier jar sous netbeans.

  11. #11
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Bonjour, je suis sous ubuntu et je développe des applications avec le GUI de netbeans.

    Pour répondre à la question ci dessus, netbeans crée lui même le jar: Il suffit pour cela de faire un run project ou une build project.

    Ce point jar est un fichier de type archive. On peut donc l'ouvrir avec un gestionnaire d'archive pour voir ce qu'il y a dedans.

    Sous ubuntu, à l'installation de netbeans, un dossier NetBeansProjects est créé.
    Chez moi il se trouve à dans Home/user. C'est dans ce dossier que les projets sont stockés. Il faut donc aller dans NetBeansProject puis trouver le projet que l'on vient de créer, entrer dedans pour trouver un dossier dist qui contient lui même le .jar.

    Si on ouvre cette archive (avec un gestionnaire d'archive), constate qu'elle contient des dossiers correspondant à certains pakages du projet que l'on développe sous netbeans. Elle contient notamment un dossier META-INF qui contient lui même le fichier MANIFEST.MF.

  12. #12
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Re bonjour,

    Je n'arrive pas à exécuter mon .jar via la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -jar JframeCalculSalaire.jar
    J'ai executé cette commande avec mon shell en me plaçant dans le dossier dist contenant l'archive JframeCalculSalaire.jar.

    le shell me retourne le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Could not find the main class: JframeCalculSalaire.NewJFrame. Program will exit.
    Attendu que mon appli fonctionne sans pb quand je la lance en faisant un Run Project depuis netBeans, est il possible qu'il y ai tout de même un problème de version du jre?

    java version "1.6.0_27" : sur ma station.
    Implementation-Version: 1.7.0_25 : coté compilateur netbeans

    Faut il que je rajoute manuellement le dossier lib qui se trouve dans la palette Projects de netbeans?
    Si oui, pourquoi net beans ne le fait pas automatiquement?

    ci dessous le fichier manifest de l'archive jar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.3
    Created-By: 1.7.0_25-b30 (Oracle Corporation)
    Class-Path: 
    X-COMMENT: Main-Class will be added automatically by build
    Main-Class: JframeCalculSalaire.NewJFrame

  13. #13
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    J'ai trouvé ça aussi sur les Classpath sous net beans.

    In the netbeans IDE, the classpath is visually represented by the Libraries node.


    https://netbeans.org/kb/docs/java/javase-intro.html

  14. #14
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    C'était un problème de version du JDK sur ma station.

    En effet, j'ai actualisé le JDK avec:

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
    Conclusion,
    Il est surprenant que ces programmes tournent sous net beans avec un JDK obsolète sur la station.
    Il est surprenant aussi que netbeans puisse compiler dans une version java 7 alors quil est censé utiliser les ressource du JDK installé sur le système.
    Enfin, tout ceci n'est pas sans soulever une question de portabilité; la portabilité étant la raison d'être des machines virtuelles.

  15. #15
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    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 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut,

    Citation Envoyé par steph33_1 Voir le message
    Conclusion,
    Il est surprenant que ces programmes tournent sous net beans avec un JDK obsolète sur la station.
    Il est surprenant aussi que netbeans puisse compiler dans une version java 7 alors quil est censé utiliser les ressource du JDK installé sur le système.
    Enfin, tout ceci n'est pas sans soulever une question de portabilité; la portabilité étant la raison d'être des machines virtuelles.
    Conclusions un peu rapides AMHA.
    Tu avais deux versions sur ta machine, une 1.6 (JRE sans doute, avec ubuntu, ça ne m'étonnerait qu'à moitié que ce soit pas un OpenJDK), et une 1.7 (JDK sans doute installé avec le bundle Netbeans, non?). Du coup, netbeans travaille avec la 1.7, et quand tu lances en manuel, ça part sur la 1.6.

    Quant à la portabilité... déjà, c'est étrange de lancer en 1.6 du code 1.7 sans que ça ne hurle (genre une UnsupportedClassVersionError).

    Enfin bon, si maintenant ça fonctionne... (un petit "résolu" donc?)
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de création de .jar (encore)
    Par Nicool dans le forum Langage
    Réponses: 5
    Dernier message: 20/06/2006, 12h56
  2. [Eclipse][Projet][JARs] création de JAR / rechercher
    Par NeptuS dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 17/03/2006, 10h04
  3. [JAR]Création de Jar -> trouve pas la classe main
    Par Zapan dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 28/01/2006, 11h17
  4. création javadoc + jar exécutable
    Par scoder dans le forum Langage
    Réponses: 7
    Dernier message: 04/11/2005, 17h06
  5. Création de .jar complexe
    Par romain3395 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 15/07/2004, 15h35

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