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

Langage Java Discussion :

classe nécéssitant un jar : compilation OK, exécution : impossible de trouver le main


Sujet :

Langage Java

  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Points : 238
    Points
    238
    Par défaut classe nécéssitant un jar : compilation OK, exécution : impossible de trouver le main
    Salut,

    j'ai une class contenant juste un main et qui fait des import contenu dans un jar à part.

    quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -cp monJar.jar MaClasse.java
    c'est nickel.

    Mais quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -cp monJar.jar MaClasse
    ça me renvoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur : impossible de trouver ou charger la classe principale MaClasse

    J'avoue que là je capte pas trop :o
    L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est normal puisque ta classe n'est pas présente dans le jar.
    Il faut aussi préciser le classpath pour tes fichiers *.class en dehors du jar.

    Par exemple si "MaClasse" fait partie du package par défaut (=pas de package) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // sous Unix/Linux :
    java -cp monJar.jar:. MaClasse
     
    // sous Windows :
    java -cp monJar.jar;. MaClasse

    a++

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Points : 238
    Points
    238
    Par défaut
    Salut,

    hm, bah là, dans un même répertoire j'ai ma classe java et le jar requis.

    Quand je fais ( sous cygwin):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -cp monJar.jar:. MaClasse.java
    Ca pète, le jar ne semble pas inclus au classpath.

    Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -cp monJar.jar MaClasse.java
    C'est ok pour la compilation.

    Mais les commandes ci-dessous ne passent pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -cp gsp.jar Formatsql.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -cp gsp.jar:. Formatsql.java
    Alors que mon .class est présent dans le même folder.
    L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par erox44 Voir le message
    Quand je fais ( sous cygwin):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -cp monJar.jar:. MaClasse.java
    Sous Windows le séparateur est ";" et non pas ":".


    Citation Envoyé par erox44 Voir le message
    Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac -cp monJar.jar MaClasse.java
    C'est ok pour la compilation.
    C'est normal car tu n'as pas besoin du MaClasse.class parce que tu es en train de le compiler.
    Mais si lorsque tu utiliseras plusieurs classes tu rencontreras le même problème...

    Citation Envoyé par erox44 Voir le message
    Mais les commandes ci-dessous ne passent pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -cp gsp.jar Formatsql.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -cp gsp.jar:. Formatsql.java
    D'une part sous Windows il faut utiliser un ";", mais de plus on passe le nom de la classe Java (avec le package), et non pas le nom du fichier.

    Et l'emplacement des *.class doivent correspondre à leurs packages...


    a++

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Points : 238
    Points
    238
    Par défaut
    Ok, ceci dit sous eclipse ça passe très bien :p
    L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/10/2011, 18h09
  2. Réponses: 4
    Dernier message: 18/05/2011, 01h41
  3. methode pour exécuter une class dans un jar
    Par yann_p dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2006, 17h47
  4. exécuter une classe dans un jar a partir d'une methode java
    Par yann_p dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 13/04/2006, 15h50
  5. [ArchiveBuilder][JavaMail] exécution impossible...
    Par Gorthal dans le forum JBuilder
    Réponses: 7
    Dernier message: 10/01/2003, 09h12

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