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

avec Java Discussion :

problème d'execution du programme après compilation


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut problème d'execution du programme après compilation
    Bonjour

    J'ai fait un petit programme simple avec une Bdd MysQl pour débuter avec les Bdd.

    Dans netBeans quand je lance le programme tout fonctionne, aucune erreur, les champs sont bien remplis...pas de soucis.

    Ensuite je compile le programme...aucun problème.

    Ensuite quand je vais récupérer mon .jar dans le dossier 'DIST', et que je le lance, j'ai une erreur :

    Nom : capture ecran.png
Affichages : 84
Taille : 12,0 Ko

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Alors j'ai fait un test en ligne de commande(terminal), car quand je compile dans NetBeans, il me dit à la fin que si je ne veux pas utiliser 'ANT' on peut l'exécuter avec la ligne suivante :
    java -jar "C:\Users\User\Documents\NetBeansProjects\DemoTouriste\dist\DemoTouriste.jar"
    et cela fonctionne très bien...

    Par contre en l'exécutant par le fichier 'JAR' cela me met la fenêtre d'erreur ci dessus.

    Si cela peut aider

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 554
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 554
    Points : 21 615
    Points
    21 615
    Par défaut
    Hello,

    ce manque de messages d'erreur complique les choses, il faut bien le reconnaître.

    je soupçonne que le problème soit que ton programme .jar a besoin de bibliothèques tierces (d'autres fichiers .jar) et qu'il les trouve en ligne de commande mais pas en double-cliquant dessus. Vraisemblablement parce que la ligne de commande a implicitement un répertoire de travail qui est là où est le .jar, et que double-cliquer sur un .jar ça n'a pas ça.

    Évidemment sans message d'erreur c'est un peu un coup dans le noir.

    Pour vérifier 'faudrait qu'on puisse voir si et comment ton .jar référence le besoin d'autres fichiers .jar. Pour ça il faudrait :

    - le dézipper (faire une copie que tu renommes en .jar.zip et dézipper normalement si tu ne sais pas dézipper un .jar)
    - regarder le fichier META-INF/MANIFEST.MF et surtout la partie Class-Path:
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    le fichier MANIFEST :
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.10.14
    Created-By: 22.0.1+8-16 (Oracle Corporation)
    Class-Path: lib/com.mysql.jdbc_5.1.5.jar lib/mysql-connector-j-8.3.0.j
    ar
    X-COMMENT: Main-Class will be added automatically by build
    Main-Class: demotouriste.DemoTouriste

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    J'ai essayé un petit programme sur un autre pc, même chose !?
    j'ai fai un simple jform avec un composant dessus.
    F6 cela fonctionne bien.
    Compilation pas d'erreur.
    Quand je récupère mon jar dans 'dist' et que l'exécute, cela me met la même erreur qu'au dessus ??
    ma 1ere class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package javaapplication8;
     
     
    public class JavaApplication8 {
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
          NewJFrame nj = new NewJFrame();
          nj.setVisible(true);
        }
     
    }
    ma 2eme classe :
    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
    16
    17
    package javaapplication8;
     
    public class NewJFrame extends javax.swing.JFrame {
     
        public NewJFrame() {
            initComponents();
        }
    public static void main(String args[]) {
     
    blablabla
     
    }
     
        // Variables declaration - do not modify                     
        private javax.swing.JRadioButton jRadioButton1;
        // End of variables declaration                   
    }

  6. #6
    Membre régulier
    Homme Profil pro
    Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Inscrit en
    Mai 2016
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 56
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par quattro Voir le message
    J'ai essayé un petit programme sur un autre pc, même chose !?
    j'ai fai un simple jform avec un composant dessus.
    F6 cela fonctionne bien.
    Compilation pas d'erreur.
    Quand je récupère mon jar dans 'dist' et que l'exécute, cela me met la même erreur qu'au dessus ??
    ma 1ere class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package javaapplication8;
     
     
    public class JavaApplication8 {
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
          NewJFrame nj = new NewJFrame();
          nj.setVisible(true);
        }
     
    }
    ma 2eme classe :
    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
    16
    17
    package javaapplication8;
     
    public class NewJFrame extends javax.swing.JFrame {
     
        public NewJFrame() {
            initComponents();
        }
    public static void main(String args[]) {
     
    blablabla
     
    }
     
        // Variables declaration - do not modify                     
        private javax.swing.JRadioButton jRadioButton1;
        // End of variables declaration                   
    }
    Bonjour
    Comme thelvin, je pense que l'interprète Java ne trouve pas les classes

    Que vaut la variable d'environnement CLASSPATH ?
    Fenêtre de commande :
    Cordialement.

    PS: pourquoi 2 main() ?...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Ou peut-on voir ClassPath dans netbeans ?
    Normalement quand netbeans compile , il récupère tout ? Cela se fait tout seule vue que le dossier où se trouve mon projet c’est netbean qui le gère…

  8. #8
    Membre régulier
    Homme Profil pro
    Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Inscrit en
    Mai 2016
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Admin systèmes (Windows, Linux) et réseaux - Dev DB &Java IHM calcul scientifique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 56
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par quattro Voir le message
    Ou peut-on voir ClassPath dans netbeans ?
    Normalement quand netbeans compile , il récupère tout ? Cela se fait tout seule vue que le dossier où se trouve mon projet c’est netbean qui le gère…

    CLASSPATH est une variable de l'environnement Windows
    donc tu vois sa valeur dans une fenêtre de commande Windows; Netbeans est supposé utiliser la même variable.


    As-tu plusieurs versions de Java installées ?

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 554
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 554
    Points : 21 615
    Points
    21 615
    Par défaut
    Le classpath ne devrait pas pouvoir être en cause avec un programme qui n'a pas de dépendance. Je pensais que ce test sans dépendance avait déjà été fait avant, c'est ce que la question incitait à penser.

    Du coup maintenant je soupçonnerais plutôt des versions de Java divergentes, oui. Et de manière générale une recherche regedit de -jar "%1" pour vérifier ce que windows essaie vraiment de faire quand tu double-cliques sur un .jar.

    ........ Enfin en vrai tout ça n'a pas tellement d'importance, parce que tu vas pas donner des programmes .jar à d'autres personnes, non ? Ils vont en faire quoi ?

    Soit tu veux donner tes programmes à d'autres gens, et tu dois apprendre à utiliser un empaqueteur qui va en faire un .exe ou un .msi et ça n'a pas d'importance si ton ordi sait exécuter des .jars,

    soit tu veux juste pouvoir lancer ton programme sur ton ordi en double-cliquant dessus, et tu n'as qu'à créer un raccourci qui lance la même commande que ce que tu tapes en ligne de commande.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Alors j’ai comme version de java :
    - java 8 update 411
    - java (TM) SE Développement kit 15.0.1

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Apparemment j’ai trouvé j’ai changé mon JDK, j’étais en version 15 j’ai mis la dernière mise à jour en version 22 et ça fonctionne. Je vais faire d’autres tests.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par quattro Voir le message
    Apparemment j’ai trouvé j’ai changé mon JDK, j’étais en version 15 j’ai mis la dernière mise à jour en version 22 et ça fonctionne. Je vais faire d’autres tests.
    c'est bon cela fonctionne.
    Merci de m'avoir mi sur la piste

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2011, 18h29
  2. Réponses: 2
    Dernier message: 24/07/2009, 16h35
  3. Réponses: 12
    Dernier message: 06/06/2006, 18h22
  4. executer un programme compilé
    Par mederic dans le forum C
    Réponses: 14
    Dernier message: 28/04/2006, 12h25
  5. [Info] Compilation/execution des programmes C/C++
    Par JavaAcro dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/03/2006, 06h39

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