[Jar Executab] Could not find the main class.

Fermé
GillouDeLabas Messages postés 29 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 21 juin 2014 - 20 mars 2007 à 21:54
 julien - 20 mars 2007 à 22:55
Bonjour,

Je cherche à créer un « .jar » exécutable. J’ai suivi les consignes données dans le lien https://java.developpez.com/faq/java?page=Execution#creationJar, et sur le site de Sun.

Je n’ai à ce jour qu’une classe que j’ai posé dans un répertoire spécifique « Class ».
Appli
|__Class
|__Src
|__META-INF

Le contenu de mon « Manifest » est stocké dans le répertoire META-INF avec le nom « Commission2007.MF » et son contenu est le suivant :
Manifest-Version: 1.0
Created-By: 1.5.0 (Sun Microsystems Inc.)
Main-Class: Commission2007

J'ai bien laissé la ligne blanche en fin de fichier.

Voici le résultat d’exécution de ma commande « jar » :
C:\#Java Dev\2007_Commissionnements>jar cvfm Commission2007.jar META-INF/Commission2007.MF -C Class/ .
manifest ajoutÚ
ajout : Class/./(entrÚe = 0) (sortie = 0)(0% stockÚ)
ajout : Class/./Commission2007.class(entrÚe = 9060) (sortie = 4547)(49% compressÚs)

J’ai contrôlé l’assignation de l’extension « .jar » dans « Poste de travail => Outil => Option des dossiers => Type de fichiers => Selection .jar => Avancé => Open => Modifié => "C:\Program Files\Java\jre1.6.0\bin\javaw.exe" -jar "%1" %* ». Donc pas de problème de ce côté là !

Quand je double clique sur le fichier « .jar » nouvellement créé, j’ai le message d’erreur suivant : « Could not find the class main. Progam will exit. ». Je n’arrive pas à comprendre la raison de cette erreur. J’ai consulté tous les sujets sur le Net traitant de ce sujet mais sans résultat. Je fais donc appel à vous.

Peut-être que la cause se trouve dans mon code qui fonctionne pourtant parfaitement quand je l’exécute avec la commande : « java Commission2007 ». La class « main » est bien présente voir le code ci-dessous. Vous pouvez retrouver la totalité de mon code sur le lien https://www.developpez.net/forums/d13730-3/java/general-java/format-d-echange-xml-json/page-sources-java-libres-participez/#post1870361
import … 

public class Commission2007 extends Frame implements ActionListener, WindowListener
{
	…
	
         //------------------------------------------------------------
	// Construction de la class EdText
	// D‚finition et affichage de la boŒte de dialogue
	//-------------------------------------------------------------
	Commission2007()
	{
	…
}

         //------------------------------------------------------------
	// D‚finition d'une frame pour l'application et affichage de la
	// boŒte de dialogue
	//-------------------------------------------------------------
	
         public static void main(String args[])
	{
		Commission2007 editer = new Commission2007();
		editer.show();
		editer.addWindowListener(editer);
	}		
}

Je vous remercie par avance pour votre aide.

Cordialement, Gilles.

1 réponse

le problème vient du nom de ton manifest. En effet selon sun (https://www.oracle.com/java/technologies/ le fichier doit impérativement se nommer MANIFEST.MF

en espérant que cela résolve ton problème...
4