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

Java Discussion :

lancement via shell : NoClassDefFoundError


Sujet :

Java

  1. #1
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 50
    Billets dans le blog
    1
    Par défaut lancement via shell : NoClassDefFoundError
    Bonjour à tous !

    J'ai un problème qui me laisse perplexe : je veux lancer un jar via un tout petit script shell. quand je lance la commande java -cp, tout se passe bien. Par contre, avec mon script (très simple : un cd, la commande java, et un autre cd) j'ai un NoClassDefFoundError.

    Quelqu'un a-til déjà rencontrer ce problème ? quelqu'un sait d'où ça peut bien venir ? (sûrement une erreur grossière…)

    Merci d'avance,

    Schnuffel

  2. #2
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,

    Quel est le script ?
    Quel est l'erreur complète ?
    Quel est l'arborescence de fichier ?

    a++

  3. #3
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 50
    Billets dans le blog
    1
    Par défaut
    Voici le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #!/bin/bash
    cd lib
    java -Xmx1600M -Xms128M -cp LOG-1.0.jar log.run.main.Main $*
    cd ..
    Voici l'erreur complète :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    : No such file or directory
    Exception in thread "main" java.lang.NoClassDefFoundError: log/run/main/Main
    Caused by: java.lang.ClassNotFoundException: log.run.main.Main
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: log.run.main.Main.  P
    rogram will exit.
    Et l'arborescence :

    - LOG
    ____- lib
    ________- LOG-1.0.jar
    ________- run.properties
    ________-divers dossier contenant eux-même des .jar utile au programme
    ____- run.sh (le script shell en question)


    Voilà !

    EDIT : l'arborescence s'affichait mal

  4. #4
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Tu as un "No such file or directory" avant. Ca s'applique à quoi ?
    Tu exécutes bien ton script depuis le répertoire LOG ?
    Le fichier log/run/main/Main.class est bien présent dans LOG-1.0.jar ?

    a++

  5. #5
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 50
    Billets dans le blog
    1
    Par défaut
    Pour le "No such File or Directory", je n'ai strictement aucune idée de ce qu'il fait bien là, il n'y a rien de plus que ce j'ai mis.

    Oui, je suis bien dans le dossier "LOG" et oui bien sûr la classe demandée est présente dans le jar^^.

  6. #6
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    rajoute un "pwd" après le "cd" pour voir si le changement de répertoire s'effectue bien...

    a++

  7. #7
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 50
    Billets dans le blog
    1
    Par défaut
    Merci beaucoup !!

    C'était pas une erreur mais un truc vraiment très bête :
    sous windows, le retour à la ligne c'est '\r\n' tandis que sous linux c'est '\n' (je programme sous windows, mais j'execute sous linux)

    Du coup il cherchait des fichiers qui n’existaient pas vu que les commande n'avait pu se faire.

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

Discussions similaires

  1. Ouverture fichier via shell
    Par roman67 dans le forum Unix
    Réponses: 2
    Dernier message: 17/03/2010, 13h16
  2. [SQL-Server] Lancement via PHP d'une procédure stockée utilisant un DTS
    Par Fallen_Leaf dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/02/2008, 10h49
  3. Piloter ms-dos via shell
    Par benjisan dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/07/2007, 14h48
  4. Graver un cdrw en multisession via shell
    Par Invité dans le forum Debian
    Réponses: 5
    Dernier message: 16/06/2007, 12h59
  5. lancement de shell avec dbms_scheduler
    Par yrogerg_d dans le forum SQL
    Réponses: 1
    Dernier message: 07/06/2007, 09h23

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