2010-03-03 8 views
0

Je crée un fichier JAR exécutable d'un projet Java. J'ai réussi à créer un exemple de fichier jar avec Hello world class. Je utilisé les commandes suivantes pour créer un pot:Comment résoudre une exception de classe principale non trouvée lors de la création d'un fichier jar?

trail> javac -classpath "c:\Program Files\Java\jdk1.6.0_01\bin;" MyClass.java 

bin> jar cvfm MyJar.jar manifest.mf trail\*.class 

Le contenu de mon manifest.mf sont

Manifest-Version: 1.0 
    Created-By: 1.5.0_03 (Sun Microsystems Inc.) 
    Main-Class: trial.MyClass 

Cela fonctionne très bien. Maintenant, lorsque j'utilise la même procédure pour créer le pot de mon projet, Je reçois l'erreur mainClass introuvable.

EDIT 
My project need 2 third party jar. 
So I have compiled My project by adding this jars in classpath. 
I guess the problem is related with this jar file dependencies. 
Can anybody help me to solve this problem? 
+2

Vous avez vraiment besoin de fournir plus de détails sur votre projet. Il semble que vous ayez un nom de répertoire "trail" mais un paquet nommé "trial" dans le manifeste - est-ce une faute de frappe dans la question, ou la source du problème? –

+0

vous ne devriez pas avoir besoin de c: \ Program Files \ Java \ jdk1.6.0_01 \ bin dans votre classpath. Si vous avez réellement des cours là-bas alors je vous suggère de les déplacer – objects

Répondre

0

Je recommande d'utiliser Ant et Jar Tâche à cet effet. Ant vous facilite la configuration des attributs du fichier jar.

0

Dans votre fichier manifeste, vous devez définir le paramètre

Main-Class
à la classe contenant le
public static void main(String[] args)
que vous souhaitez appeler.
a-t-je peux imaginer, vous voulez commencer par le
MyClass

Votre Mainfest devrait contenir:

Main-Class: MyClass

Cordialement

0

Vous ne dites pas ce que « votre projet » consiste. Rappelez-vous que java ne peut pas charger les fichiers jar dans un pot (au moins en utilisant l'option -jar), donc si vous avez des dépendances, vous devrez les "exploser" en classes/style.

+0

Oui, il y a des dépendances. Comment puis-je les "exploser"? – PPB

+0

Vous pouvez simplement les décompresser en les renommant en .zip, ou utiliser des maven ou des fourmis qui le font pour vous. – sandos

Questions connexes