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 :

Application fonctionnelle sur NetBeans, ne se lance pas avec le jar.


Sujet :

NetBeans Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Application fonctionnelle sur NetBeans, ne se lance pas avec le jar.
    Bonjour,

    Je travaille sur un petit programme de calcul de combo au poker, il y a une interface graphique (JFrame) avec son mvc associé.

    Lorsque je lance un test de la classe main via netbean (le petit triangle vert qui représente la lecture), tout se passe très bien.

    Cependant quand je build la bête, je test le lancement du prog via un double click sur l'archive (qui se trouve dans le dossier dist), rien ne se passe.
    Enfin il y a un nouveau processus java mais il ne dure que 1 ou 2 seconde.

    Le plus furstrant dans l'histoire , c'est qu'avant d'effectuer quelques changements (la plupart faisant référence au changement des chemins pour les images utilisé, via getClass.getResource,+ le rajout d'un dossier ressource dans chaque package utilisé) , tout marchait très bien.

    J'ai envoyé mon programme à un ami pour voir si ça venait de mon environnement, il a le message d'erreur suivant "could not find the main class blabla"
    Je lui ai donc envoyé un autre .jar (qui marche chez moi par contre) et il a la même erreur (avec un main différent évidement).
    J'imagine du coup que c'est pas à prendre en compte , mais sait on jamais, peut être que ça peu aidé, et si au passage vous avez une idée pour ça aussi, ça serait cool.

    Je suis sous WindowXP SP3. Je peux eventuellement tester ça sur ubuntu si ça peut aider à resoudre le problème.

    Si une âme charitable à la solution et passe par là, je l'en remercie d'avance = )

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Bonjour,

    Je ne pense pas que le soucis soit lié à windows donc inutile de perdre du temps en testant ailleurs

    Pour avancer un peu sur la cause du problème voici ce que je propose:

    Dans NetBeans: Clean and Build du projet.

    - Cela va reconstruire tout le projet et mettre à jour ce qu'il y a dans le répertoire dist, ce que ne fait pas le "compile on save".

    Depuis un invite de commande XP:

    - se placer dans le répertoire dist du projet et lancer l'appli ainsi: java -jar archive.jar (archive est à changer bien sur)

    Cela va afficher sur la sortie standard la raison du problème ce qui parlera plus à tout le monde que de savoir qu'après 1s ou 2 cela s'arrête

    Possible que du coup tu puisses résoudre le problème toi même, sinon n'hésite pas à poster le message d'erreur que tu as ici.. on sera plus à même de t'aider après ça.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Salut, merci pour ta réponse.

    J'avais déja tenté de le faire sur l'invite de commande, mais l'invite me trouver pas la jar, j'ai fais quelques recherche sur le net, il faut donc add l'exe du jar dans le path window. Ce que j'ai fais.

    Du coup j'ai java -jar mon .jar, et comme tu l'avais dis, j'ai une erreur (un nullPointerException).

    Je vais donc chercher ça, merci pour ton aide = )

  4. #4
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Même problème sous Windows 7
    Je développe sous Windows 7 avec netbeans et j'ai exactement le même problème.

    Je conçoit des programmes sous netbeans je les test en RUN directement dans la console java de netbeans et je n'est aucun problème.
    Le problème surgit quand je veux lancer le projet compilé donc en *.JAR directement de Windows 7.

    pour tenter d'identifier le problème :
    * j'ai compilé un programme "sample" fournit par netbeans (fonctionne parfaitement en .JAR )
    * ensuite j'ai fabriqué un soft avec seulement un jForm, jLabel et jButton pour faire afficher un HelloWorld et je l'est compilé (fonctionne parfaitement en .JAR )
    * ensuite toute les autre tentative on échoué même une nouvelle tentative du helloWorld pourtant réussit précédemment.

    Mercis pour votre aides je peux poster ou envoyer les progs par émail au besoin.

  5. #5
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Bonjour,

    Il aurait été préférable de créer une nouvelle discussion je pense, car le problème est probablement tout autre que celui de la question initiale (problème de ressources accessibles différemment en 'live' depuis Netbeans et compressée dans un jar)

    Déjà il y a une différence entre exécuter un projet dans NetBeans (la flèche verte de la toolbar) et exécuter une classe contenant un main en faisant un "Run file" ou Shift-F6.

    Dans le premier cas, si aucune classe Main n'a été choisie, NetBeans demandera qu'un choix soit fait par l'utilisateur, même s'il n'y a qu'une classe avec un main, je viens de faire le test.
    Suite à ce choix et après un clean and build du projet, le Manifest présent dans le jar sera mis à jour pour contenir le nom de la main classe.
    A partir de ce moment là, il est possible d'exécuter le jar présent dans le répertoire dist du projet simplement en double-cliquant dessus (dans un environnement windows avec Java correctement installé bien sur)

    Dans le deuxième cas, les propriétés du projet ne sont pas mises à jour, le Manifest ne contient pas le nom de la main classe et à moins de la spécifier à la main et de faire un clean and build du projet, le jar ne sera pas 'exécutable' en double-cliquant dessus.

    Pour mettre à jour à la main les propriétés du projet: clique droit sur le projet, tout en bas du menu il y a l'item 'Properties'

    Dans le dialogue qui s'ouvre alors, dans la section Run vous avez tout ce qu'il faut pour configurer comment Netbeans doit executer votre projet. Et ces choix seront répercuté à chaque Clean and Build du projet dans le Manifest du jar généré.

    voilà j'espère avoir été suffisamment clair.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  6. #6
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Merci Bulbo
    Dans le deuxième cas, les propriétés du projet ne sont pas mises à jour, le Manifest ne contient pas le nom de la main classe et à moins de la spécifier à la main et de faire un clean and build du projet, le jar ne sera pas 'exécutable' en double-cliquant dessus.

    Pour mettre à jour à la main les propriétés du projet: clique droit sur le projet, tout en bas du menu il y a l'item 'Properties'

    Dans le dialogue qui s'ouvre alors, dans la section Run vous avez tout ce qu'il faut pour configurer comment Netbeans doit executer votre projet. Et ces choix seront répercuté à chaque Clean and Build du projet dans le Manifest du jar généré.
    Mercis Bulbo tu as parfaitement résolue mon problème avec tes explication. en effet le problème été effectivement le faite que le Manifest n'était pas configuré avec la bonne class.

    Maintenant sa fonctionne parfaitement.
    Mercis beaucoup, Raydius.

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Salut,

    je n'avais pas préciser d'ou venait le problème d'ailleurs. Il se trouve que "System.getProperty("file.separator");" ne marche pas sous SP3 XP.Et vu que tout mes JPanel contenaient des images avec un chemin "portable" , ça me faisait des nullPointerException.Du coup,je suis obliger de mettre le séparateur en dur .

    Donc en gros , via Netbeans, pas de problème, via l'invite de commande, j'ai un nullPointer si j'utilise le lineseparator.

    Si jamais vous avez une explication pour ça , je suis preneur

  8. #8
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Au Lieu d'utiliser un System.getProperty utilises plutôt java.io.File.separator.


    Mais sinon, Java sait parfaitement ouvrir un path écrit avec des / au lieu de \ sous windows.. ça simplifiera grandement tes soucis.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je vais tester ça, merci

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Je viens de créer un compte exprès pour te remercier Bulbo ! Le problème venait bien que dans les Properties > Run. La mauvaise class était déclaré alors qu'auparavant il ne me l'avais jamais fait !

    Encore merci de ton aide

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/08/2014, 10h42
  2. Réponses: 0
    Dernier message: 26/10/2009, 14h35
  3. Réponses: 3
    Dernier message: 15/05/2009, 09h57
  4. comment rendre une application éxécutable sur netBeans?
    Par stellina20 dans le forum NetBeans
    Réponses: 4
    Dernier message: 01/04/2009, 11h58
  5. Programme fonctionnant sur Eclipse mais pas avec le jar?
    Par kirik dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 10/02/2004, 13h43

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