2012-05-01 4 views
4

Bonjour J'ai un problème étrange. Je suis l'emballage d'une application avec eclipse pour produire un fichier jar exécutable et quand je l'exécute, je reçois l'erreur "Erreur ne peut pas trouver la classe principale [...]".Jar exécutable ne peut pas trouver la classe principale - un étrange

Quand je lance le même paquet de l'exemple de ligne de commande

java jar app.jar

Les lancements de programme.

Ce qui est bizarre, c'est que l'erreur se produit uniquement avec les applications conformes à l'environnement Java 7.

Si je définis le projet sur Java 6, tout fonctionne correctement.

Que dois-je faire pour exécuter Java 7 jar exécutable?

Merci pour toute aide.

Répondre

0

Ce problème se produit lorsque la machine virtuelle Java n'est pas en mesure de localiser la classe principale associée au fichier Jar, machine virtuelle Java utilise l'attribut principal-classe de Manifest.mf pour identifier la classe principale associée

On dirait que vous avez manqué de Ajouter un attribut de classe principale au fichier manifeste utilisé pour créer le JAR, http: //www.skylit.com/javamethods/faqs/createjar.html pourrait aider

1

Vérifiez la version de votre jre si son jre6 alors il peut être un problème essayer de mettre à jour votre jre à jre7 il coud faire un tour ..

+0

J'ai x86 x64 jres 6 et 7 installé j'ai essayé de lancer jar avec javaw.exe 6 et javaw.exe 7 et l'erreur est la même. –

+0

essayer de compiler en utilisant e option egjar cfe app.jar pack.Test pack/Test.class –

+0

Rien changé:/je vais essayer de désinstaller tous les java et réinstaller à nouveau voir si cela aide –

1

Vous devez définir la classe principale dans le fichier manifeste

fichier manifeste Exemple

Manifest-Version: 1.0 
Created-By: 1.3.1 (Sun Microsystems, Inc.) 
Main-Class: com.package.MainClassName 
Class-Path: oc4j.jar 

Assurez-vous que vous avez réglé toutes ces choses comme dans le fichier jar exemple

+2

Toujours la même erreur se produit :( –

0

Par défaut un pot n'est pas exécutable

archives Java sont plus souvent utilisés comme bibliothèques où le format jar compresse le code dans un seul dossier. Ce code n'est généralement pas exécuté en tant qu'application (autonome), mais il est possible de transformer un fichier jar en une application exécutable au moyen du Manifest file

Il suffit de créer un fichier manifeste indiquant quelle classe contient la méthode 'main' , pour rendre votre fichier jar exécutable et inclure le manifeste dans votre .jar

+1

Je l'ai fait mais c'est toujours pareil, j'ai cette erreur seulement si je compile le projet avec java 7, ne sais vraiment pas quoi faire: / –

Questions connexes