[JAR] Probleme avec la creation d'un .jar

Probleme avec la creation d'un .jar [JAR] - Java - Programmation

Marsh Posté le 01-05-2007 à 19:16:54    

Bonjour @ tous.
 
J'ai passé l'après midi à me renseigner et essayer de résoudre ça mais ... je n'y arrive toujours pas.
 
Mon projet se compose comme ceci:
Répertoires: - lib contenant 2 .jar (jgraph.jar et jdom.jar)
                 - Environnement, GraphWindow, Main, Noeud_fleche contenant tous les .class
Le main se trouve dans le fichier Accueil.java dans le répertoire Main.
 
 
J'ai créé mon fichier Manifest:

Code :
  1. Manifest-Version: 1.0
  2. CREATED-By: 1.5.11 (Sun Microsystems Inc.)
  3. Main-Class: Main.Accueil
  4. Class-Path: ./lib/jgraph.jar ./lib/jdom.jar ./Environnement ./GraphWindow ./Noeud_fleche ./Main


 
Le fichier MANIFEST.MF est placé dans un répertoire META-INF au même endroit que mes répertoires contenant les .class
 
Je crée mon .jar avec la ligne de commande:

Code :
  1. jar cvfm SCT.jar META-INF/MANIFEST.MF .


 
Le fichier .jar se crée. Ensuite j'exécute avec

Code :
  1. java -jar SCT.jar


 
Et là, j'ai une superbe exception

Code :
  1. Exception in thread "main" java.lang.NoClassDefFoundError: Main/Accueil (wrong name: Accueil)


 
J'ai essayé de mettre Accueil.class là où je met les repertoires (en changeant le manifest Main-Class: Accueil) et il trouve la classe mais j'ai une autre exception qui dit qu'il ne trouve pas la classe Environnement (Environnement.class se trouve dans le répertoire Environnement).
 
Voila, je ne sais pas si j'ai oublié de faire quelque chose d'important...
 
Merci de votre aide.


Message édité par zhamos_kh le 01-05-2007 à 22:41:53
Reply

Marsh Posté le 01-05-2007 à 19:16:54   

Reply

Marsh Posté le 01-05-2007 à 19:33:48    

Les repertoires Environnement, GraphWindow, Main, Noeud_fleche sont bien entendu des également des packages ???

Reply

Marsh Posté le 01-05-2007 à 19:54:48    

euh... non... enfin
Comment ça des packages?
Pourquoi ils doivent l'être?

Reply

Marsh Posté le 01-05-2007 à 20:12:03    

Dans Class-Path on ne doit pas seulement mettre le CLASSPATH? les repertoires contenant des .class ne fonctionnent pas ?

Reply

Marsh Posté le 01-05-2007 à 23:04:53    

Ben c'est que Main.Accueil signifie classe Main dans le package Accueil donc si au debut de ta class Main il n'y a pas ecrit package Accueil; ca va pas trop aller...
 
Autrement oui ton classpath tu doit y mettre tous les chemins vers les classes de ton projet

Reply

Marsh Posté le 03-05-2007 à 19:34:29    

c'est bon j'ai reussi.
 
Grand merci jbourdellon

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed