Comment le programme d'installation Principal de la classe dans le fichier de manifeste dans le bocal produite par le projet NetBeans
J'ai le problème suivant. J'ai un projet en Java dans mon NetBeans IDE 6.8. Quand je compile et produit une .fichier jar contenant tout ce qui est possible, le META-INF n'est pas droit. Il ne contient pas la classe pour être exécutés avec une méthode main ().
Quand je clique sur le bouton Exécuter à l'intérieur de l'IDE, tout fonctionne. Les paramètres du projet sont également définir le chemin à droite - pointe vers une classe dans mon projet.
J'ai essayé d'ajouter un dossier META-INF avec le fichier de manifeste, mais je n'ai pas réussi.
Est-il un moyen de le faire manuellement dans NetBeans, car j'ai trouvé que si je ajouter la classe Principale dans le manifeste, tout fonctionne.
(Je suppose que j'ai heurté une sorte de bug...)
//edit:
Le résultat que je suis après, c'est que je veux le pot qui est créé avec la version de NetBeans pour être exécutable avec la commande:
Citation de Documentation De Sun :
Lorsque la Classe est définie dans le fichier de manifeste, vous pouvez exécuter l'application à partir de la ligne de commande:
java -jar app.jar
- d'abord il y a deux sortes de pots vous pouvez créer ... l'un est un simple "pot" de l'autre est un "exécutable jar". assurez-vous que vous avez créé le droit? je n'ai jamais essayé ce dans netbeans, mais eclipse vous propose un assistant pour créer un fichier exécutable jar, là, vous pouvez sélectionner votre classe principale. je serais surpris si netbeans ne pas offrir le même type de conseils?!
- André: je ne sais pas si il y a un tel assistant, mais il y a une fenêtre "préférences de projet" et il me dit que mon Main.class mais après l'accumulation de rien à l'intérieur du fichier de manifeste
- Cela a réglé mon problème, mais j'ai trouvé cette solution en premier donc je voulais poster ici stackoverflow.com/questions/15282098/...
- S'il vous plaît aider sur cette question: stackoverflow.com/questions/24740803/...
Vous devez vous connecter pour publier un commentaire.
Je vais faire un résumé de la proposition de solutions et de celui qui m'a aidé!
Après la lecture de ce rapport de bug:
bug dans la façon dont NetBeans 6.8 crée le pot pour une Bibliothèque Java Projet.
De créer un manifeste.mf fichier dans mon projet de racine
Modifier manifeste.mf. Le mien ressemblait à quelque chose comme ceci:
Ouvrir un fichier /nbproject/projet.propriétés
Ajouter la ligne
manifest.file=manifest.mf
Clean + Construire de projet
Maintenant l' .le pot est de développer correctement.
Merci beaucoup vkraemer
Main-Class: MyPackage.MyClass
(ne fonctionne pas pour moi)On dirait que vous êtes en cours d'exécution dans un bug dans la façon dont NetBeans 6.8 crée le pot pour un Projet de Bibliothèque Java.
La question implique qu'il y a un travail autour de.
Je n'ai pas pu vérifier qu'avec NB 6.8 et/ou NetBeans 6.9-dev...
Vous pouvez vous inscrire avec le NetBeans.org site web/outil de suivi et de mise à jour de la question et ajouter votre "vote".
C'est simple.
C'est tout. Espérons que cette aide.
En 7.3 suffit d'activer les Propriétés/Build/Package/Copie Dépendant des Bibliothèques et de la classe principale sera ajouté à manifester lors de la construction en fonction cible sélectionnée.
Ajout manifeste.fichier=manifeste.mf dans le projet.propriétés et la création de manifeste.mf fichier dans le répertoire du projet fonctionne bien en NB de 6,9 et devrait fonctionner également en NB 6.8.
C'est un problème encore comme des 7.2.1 . Créer une bibliothèque de cause vous ne savez pas ce qu'il va faire, si vous le faites une demande & vous êtes foutus.
Ai trouvé comment résoudre ce problème si. Edit
nbproject/project.properties
, modifiez la ligne suivante pour de faux, comme indiqué:mkdist.disabled=false
Après cela, vous pouvez modifier la classe principale dans les propriétés, et il sera reflété dans le manifeste.
Le vrai problème est de savoir comment Netbeans Bocaux de ses projets. Les "Class-Path:" dans le fichier Manifeste est inutile alors qu'en réalité, la publication de votre programme à utiliser pour les autres. Si vous avez une Bibliothèque externe ajoutée dans Netbeans il agit comme un paquet. Je vous suggère d'utiliser un programme comme WINRAR pour afficher les fichiers dans le bocal et ajouter vos bibliothèques comme les paquets directement dans le fichier jar.
Comment l'intérieur du bocal fichier devrait ressembler à:
Je lire et lire et lire pour comprendre pourquoi j'ai été prendre une classe ne trouve pas d'erreur, il s'avère que la manifeste.mf avait une erreur dans la ligne:
J'ai corrigé l'erreur en allant à Propriétés du Projet dialogue (clic droit Fichiers de Projet), puis Exécuter et Classe Principale et corrigé ce que Netbeans décidé de le mettre ici. Netbean inséré le nom du projet à la place du nom de la classe. Aucune idée de pourquoi. Probablement en état d'ébriété sur muratina...
N'hésitez pas de regarder dans vos fichiers de projet après que vous avez construit votre projet pour la première fois. Recherchez un fichier manifeste et choisissez ouvrir avec le bloc-notes.
Ajouter la ligne:
Où
package
est votre forfait etmyClassName
est la classe avec lemain(String[] args)
méthode.