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 :

Exécution jar : fonctionne "à moitié"


Sujet :

NetBeans Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut Exécution jar : fonctionne "à moitié"
    Bonsoir,

    J'ai terminé un programme dans lequel j'ai utilisé Matisse pour la création des JDialog.

    La création du jar se passe correctement, l'affichage de la fenêtre principale (faite "à la main") également, mais lorsqu'une JDialog devrait s'afficher, rien ne se passe...

    Dans le répertoire du jar, j'ai un répertoire lib contenant swing-layout-1.0.jar

    Ca commence réellement à m'énerver...

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Ca veut peut venir de plusieurs choses.
    Est-ce que tu as bien mis toutes les librairies dans le class-path de ton .jar ?
    Est-ce que tu ouvre bien les fichiers qui sont à l'intérieur en tant que ressource ?

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Tentative
    Bonsoir,

    J'ai terminé un programme dans lequel j'ai utilisé Matisse pour la création des JDialog.

    La création du jar se passe correctement, l'affichage de la fenêtre principale (faite "à la main") également, mais lorsqu'une JDialog devrait s'afficher, rien ne se passe...

    Dans le répertoire du jar, j'ai un répertoire lib contenant swing-layout-1.0.jar

    Ca commence réellement à m'énerver...

    Merci d'avance pour vos réponses.

    moi pou executer mes proramme
    je vais dans le dossier
    dist/
    de mon projet
    et je fais
    $java -jar "monProjet.jar"
    et ca marche tres bien !

    Sous netbeans, lors de l'execution (F5) tu la vois ta fenetre ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Tout fonctionne bien dans netbeans (je vois la fenêtre principale, exactement comme avec le jar, et les JDialog), mais une fois le projet compilé et le jar créé, lorsque je l'exécute (donc en dehors de netbeans) les JDialog que j'ai faites avec Matisse ne s'ouvrent pas (erreur : NullPointerException qui vient d'un Unknown source), pourtant dans le fichier Manifest, il est bien dit qu'il y a un fichier jar dans le dossier : lib/swing-layout-1.0.jar

    Je n'ai pas touché aux options de création du jar dans netbeans, car jusque là, tout avait toujours bien fonctionné...
    Celà dit, c'est la première fois (et la dernière ?) que j'utilise Matisse pour créer mes interfaces aussi...

    Donc les fichiers :
    CoursDeBourse.jar
    /lib/swing-layout-1.0.jar

    Le manifest :
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.)
    Main-Class: gui.CoursDeBourse
    Class-Path: lib/swing-layout-1.0.jar
    X-COMMENT: Main-Class will be added automatically by build

    PS : celà me semblait évident, mais j'ai omis de dire que cette librairie swing-layout a été rajoutée automatiquement par netbeans, elle doit contenir les layout qu'utilise matisse.

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par Tentative
    Le manifest :
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.6.5
    Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.)
    Main-Class: gui.CoursDeBourse
    Class-Path: lib/swing-layout-1.0.jar
    X-COMMENT: Main-Class will be added automatically by build
    Essaie avec :

    Class-Path: /lib/swing-layout-1.0.jar

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Hélas non, ça ne fonctionne pas mieux

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Points : 328
    Points
    328
    Par défaut
    Salut.
    Il me semble que vous oubliez le point "."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class-Path: ./lib/swing-layout-1.0.jar

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Points : 328
    Points
    328
    Par défaut
    D'ailleurs, j'en profite pour poser une petite question :
    pourquoi Netbeans ne rajoute pas tout seul les chemins utilisés pour la compilation et l'exécution dans le Class-Path du MANIFEST ??

    Ca devrait être simple à faire, et ça éviterait le genre de désagrément qu'a Tentative (et qui m'est aussi arrivé ).

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Et non... c'était pourtant quelque chose de plausible.

    Je le rappelle, le jar, le manifest et tout le reste, ont été généré par NetBeans.
    Je n'ai rien fait de spécial, j'ai créé le projet comme je l'ai toujours fait, j'ai édité les sources et j'ai réalisé uniquement les JDialog avec Matisse.

    Enfin, j'ai fait : Clean and build project.

  10. #10
    Membre averti

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Points : 328
    Points
    328
    Par défaut
    Essaie de créer ton jar avec l'exécutable jar de Java...

    Ca ne t'apprendra rien sur ce qui s'est passé, mais peut-être que ton appli fonctionnera

    Au fait, ton jar exécutable et ta librairie sont bien 2 fichiers distincts dans le même dossier ? Personnellement, la 1ère fois que j'ai eu à joindre une librairie dans un projet, je l'avais mis dans les sources (fichiers .java), et Netbeans me l'avais mis DANS le jar lors du build...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Ce sont bien deux fichiers distincts, mais pas dans le même répertoire.

    Les fichiers :
    CoursDeBourse.jar
    /lib/swing-layout-1.0.jar

    L'application se lance correctement, mais c'est vraiment uniquement lors de la création de la JDialog qu'une erreur se produit : Unknown source.

    C'est un programme de bourse.
    Donc, je lance mon programme, la fenêtre s'affiche, je peux effectuer par exemple "supprimer une action" (qui ne nécessite pas de JDialog), ca fonctionne correctement, et lorsque je fais "ajouter une action" (qui demande une JDialog), erreur.

    Il ne trouve donc pas la librairie, mais le chemin est pourtant exact dans le manifest... étrange, et surtout très énervant.

  12. #12
    Membre averti

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Points : 328
    Points
    328
    Par défaut
    Ce sont bien deux fichiers distincts, mais pas dans le même répertoire.
    Oui, désolé, c'est logique, je voulais juste être sûr que /dist/swing-layout-1.0.jar n'était pas archiver dans le .jar.

    J'avoue que je ne vois pas où peut être l'erreur...
    As-tu essayé d'utiliser les outils Java fournis avec le jdk pour compiler et/ou créer ton jar ?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Bon, toujours pas d'amélioration.

    Je sens que je vais recoder mes JDialog "à la main" comme je l'ai toujours fait avant...


    Edit : j'ai reprogrammé toutes les JDialog à la main, assez perdu de temps... Si quelqu'un trouve néanmoins la solution au problème, je suis toujours preneur.

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