JAR fichier: impossible de trouver la classe principale
Bon, j'ai un problème étrange. Je voulais courir un de mes programmes .fichier jar, mais quand je l'ouvre en double-cliquant dessus, j'obtiens un message d'erreur du type "impossible de trouver la classe principale, le programme est en cours d'arrêt". Je suis sûr que j'ai fait tout droit, le pot doit travailler autant que je sache. J'ai aussi essayé d'autres programmes, c'est la même chose avec tous un seul. (Je suis de la création de l' .jar est par le biais de BlueJ) Il n'y a pas de problème quand je lance le par un .chauve-souris . Et voici la chose la plus étrange de tous: de L' .jar ont travaillé il y a quelques temps (un mois ou deux je crois), et je ne me souviens pas de faire quelque chose de différent. C'est la même BlueJ-Version. Bon, peut-être Java mis à jour et quelque chose s'est foiré... j'ai cherché sur google, mais je n'arrivais pas à trouver une solution. (certaines personnes semblent avoir un problème similaire, et il semble être le seul qui ne peut pas exécuter leurs .jar; ils téléchargées et d'autres disent de la .pot d'exécution fine). Quel pourrait être le problème? Comment puis-je le résoudre?
J'apprécierais vraiment de l'aide.
Merci 🙂
ApertureT3CH
EDIT: bon, les gars, vous êtes me rend savez pas ici. Imma vérifier le manifeste de nouveau, à cet impie temps ( 1:34 ) 😛
EDIT2: C'est mon MANIFESTE.MF
Manifest-Version: 1.0
Chemin De Classe:
Principal-Catégorie: LocalChatClientGUI
[ligne vide]
[ligne vide]
La classe Principale est correcte.
EDIT3: Grâce à hgrey: Il n'y a rien de mal avec le pot. Je peux l'exécuter à partir d'un fichier bat, qui en fait ne devrait pas être différent de double-cliquer sur le pot, non? Pourtant, je reçois le message d'erreur lorsque vous cliquez sur elle, et il fonctionne très bien par le biais de la chauve-souris.
EDIT4: j'ai finalement résolu le problème. Je l'ai ré-installé le JRE et maintenant ça fonctionne, même si je ne peux pas voir les différences de version.
Merci à tout le monde!
OriginalL'auteur ApertureT3CH | 2012-04-13
Vous devez vous connecter pour publier un commentaire.
Lorsque java s'exécute le pot, il va chercher à se manifester.mf fichier à l'intérieur du bocal du répertoire META-INF et le lire MainClass attribut. Si il n'est pas spécifié, vous obtiendrez le message que vous décrivez. Donc, essayez de corriger le manifeste.mf dans le bocal. Génération de manifeste.mf est pris en charge par le populaire java construire des outils comme Ant ou Maven.
Pouvez-vous essayer d'exécuter le avec
java -jar jarfilename
et post l'exception ici si vous en avez un, ainsi que les contenus de fichier de manifeste?ce que l'... Cela fonctionne... je n'ai aucune idée pourquoi. Mais cela exécute le pot normalement... je m'en vais j'ai des idées
Probablement votre association de l'extension de a vissé. Essayez de changer ce pour les mêmes java que vous avez en chemin. Vous pouvez le faire avec l'explorer de windows.
C'est possible.. Mon pc se bloque beaucoup ces derniers temps, peut-être cela un peu foiré l'extension de fichier. Merci, je vais essayer ça demain.
OriginalL'auteur hgrey
Est-ce que votre utilisation d'un programme externe fichiers jar? Si oui, vous devez définir le classpath de l'attribut à l'intérieur du fichier de manifeste ainsi que le principal de la classe.
remarque: Si l'application l'utilisation des pots (par exemple, lib/) et certains sont manquants (ou de la mauvaise version), cette erreur peut se produire aussi bien (quel que soit le classpath).
OriginalL'auteur haskovec
Normalement, vous devez spécifier la classe dans le fichier jar est la méthode principale. Si vous vérifiez le fichier de chauve-souris qui fonctionne, vous auriez probablement voir ce qui vous manque afin de l'exécuter.
OriginalL'auteur Mads
Suggérons de vérifier votre manifeste.
http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
OriginalL'auteur scorpdaddy
Également ajouter un chemin de classe de l'attribut pour le manifeste et mettre un point pour la valeur. Cela indiquera à la c. m à regarder le répertoire en cours pour les classes.
OriginalL'auteur ihaxx
Le manifeste fichier texte doit se terminer par une nouvelle ligne ou un retour chariot. La dernière ligne ne sera pas analysé correctement si elle ne prend pas fin avec une nouvelle ligne ou un retour chariot.
OriginalL'auteur Amila Jayawardhana