Production de pots exécutables dans NetBeans

J'utilise NetBeans 6.5 et pour une raison quelconque, il ne produira pas exécutable jar "out of the box".

j'ai défini mon projet comme étant le projet principal, j'ai défini la classe principale dans le menu Propriétés du projet" exécuter " et cela fonctionne parfaitement quand J'appuie sur F6 pour l'exécuter.

j'ai regardé le fichier de manifestes et il n'a pas défini la classe principale là, et a également omis les dépendances de bibliothèque.





Ai-je raté quelque chose? Existe-t-il un moyen (autre que la modification manuelle du Manifeste) de produire des fichiers JAR exécutables?



EDIT: oui, j'ai essayé de nettoyer et reconstruire et il produit le jar dans le dossier dist, toujours avec la même manifeste.mf

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 10.0-b23 (Sun Microsystems Inc.)
19
demandé sur David S. 2009-03-02 17:34:02

17 réponses

je viens d'avoir le même problème dans NetBeans 7.2.1 avec un projet D'Application Java Maven. Modifiez la pom.fichier xml pour inclure le Maven assembly plugin avec un tweak à la réponse de myrho (doit faire référence au descripteur prédéfini "jar-with-dependencies"):

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>your.app.MainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

une méthode alternative est de construire un projet D'Application Java dans NetBeans qui n'utilise pas Maven. Sélectionner Fichier - > Propriétés du projet - > Construction - > Empaquetage et vérifier le Case à cocher" bibliothèques dépendantes de la copie".

7
répondu rarchibald 2013-01-26 01:48:05

si vous utilisez le plugin Maven assembly et que vous voulez construire un jar exécutable avec des dépendances, vous devez ajouter cette partie à la configuration de la section maven-assembly-plugin dans votre pom.xml:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <!-- ... -->
    <archive>
      <manifest>
        <mainClass>your.app.SampleClass</mainClass>
      </manifest>
    </archive>
  </configuration>
</plugin>

Source: Maven Assembly Plugin Usage

6
répondu myrho 2016-09-22 04:49:02

Essayez ce qui suit:

  1. faites un clic droit sur votre projet sur le panneau "projets", sélectionnez "Propriétés

  2. Cliquez sur "Exécuter" dans la nouvelle fenêtre.

  3. éditez le champ" Main Class: "(cliquez sur Parcourir).

de cette façon, vous sélectionnerez la classe principale qui est le point d'entrée de votre demande et le Manifeste sera créé correctement.

5
répondu kv. 2011-11-09 17:49:25

Très simple, La .jar et .les fichiers jad sont là dans dist dossier

je cherchais aussi la réponse et j'ai eu celle-ci de http://forums.netbeans.org/ptopic3465.html

résolu:)

4
répondu SMUsamaShah 2010-10-18 10:22:42

avez-vous nettoyé le projet et reconstruit? Cela sonne comme vous le faites à droite. Heres quelques références juste au cas où:

http://www.velocityreviews.com/forums/t141385-how-to-create-executable-jar-in-netbeans-ide.html http://dr.berkeley.edu/REM/wiki/index.php/Making_a_Java_executable_jar_in_Netbeans

2
répondu John Ellinwood 2009-03-02 14:38:04

si vous nettoyez et construisez votre projet, il devrait créer le bocal dans le répertoire" dist".

il devrait créer le manifeste.mf au premier niveau de votre répertoire de projet.

1
répondu marktucks 2009-03-12 14:39:43

en fait, je suis tombé sur cette page après être tombé dans le même numéro, j'ai édité le manifeste.mais les changements n'apparaissaient pas dans le manifeste jar.Fichier MF. J'ai trouvé le problème que j'avais et j'ai pensé transmettre l'information juste au cas où elle serait pertinente.

ce que je faisais de mal, c'était que je n'avais pas le projet sur lequel je travaillais en tant que projet principal, donc pendant que j'éditais le bon manifeste, je compilais le mauvais projet.

donc je suppose que le résumé de l'histoire avez-vous vérifié et voir si vous avez le bon projet sélectionné pour le manifeste.vous éditez un fichier mf?

1
répondu 2009-07-23 21:09:46

peut-être avez-vous créé projet Java avec des Sources existantes au lieu de application Java ?

j'ai eu le même problème et créer une nouvelle Application Java et ensuite copier manuellement les fichiers src résolu le problème - tout a fonctionné"hors de la boîte".

1
répondu 2009-09-21 22:46:24

j'ai eu l'expérience, que le processus de construction est différent, selon le type de projet.

je suppose que vous avez créé le projet" Java Class Library".

il suffit donc de créer un projet" Java Application", puis de fusionner toutes les classes.

alors, Netbeans ne supplantera pas, mais d'améliorer le "manifest.mf" dans le pot.

bien sûr, c'est un stupide Netbeans bogue. Bien sûr, il devrait être possible d'ajouter des principaux classes par la suite.

EDIT: s'il vous Plaît voir mon autre réponse. C'est plus facile.

1
répondu ivan_ivanovich_ivanoff 2009-09-29 09:58:18

étrange en effet, il devrait le faire hors de la boîte, y compris le chemin de classe.

avez-vous mis à jour depuis une version précédente? Lors de la mise à niveau, NB va mettre à jour les fichiers de projet, mais parfois cette migration n'est pas fait bien et ce genre de scénario surgit. Il suffit de fermer le projet, renommer le projet nbproject dir en nbproject_old et faire nouveau projet - > projet Java avec des sources existantes. Réinitialisez la classe principale, ajoutez des dépendances et réessayez.

0
répondu Rogier 2009-03-02 18:09:49

une autre approche consiste entièrement à développer, exécuter des essais unitaires, etc. dans NetBeans, mais utilisez ensuite un script maven ou ant pour faire votre" vraie " construction. Il semble que ces types d'outils de construction vous donnent plus de contrôle sur la façon dont les choses sont construites, et il vous permet également d'automatiser les constructions.

pour maven, vous pouvez ajouter des entrées au manifeste facilement en utilisant le plugin maven jar:

http://maven.apache.org/plugins/maven-jar-plugin /

0
répondu James Kingsbery 2009-03-05 15:52:32

une meilleure solution:

Modifier nbproject/projet.propriétés et ajouter la rubrique :

manifest.file=manifest.mf

manifest.mf doit être dans la racine du projet et contenir juste:

Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build

Works. Testé.

0
répondu ivan_ivanovich_ivanoff 2009-09-29 10:01:36

des informations intéressantes pourraient être ici:

http://wiki.netbeans.org/FaqNoMainClass

0
répondu java.is.for.desktop 2009-10-22 14:57:07

aller à la vue Fichiers. Créer un manifeste.mf dans le répertoire racine.

/project_folder
    build.xml
    manifest.mf(edit here)
    /dist
    /src
    /test
    /build
0
répondu l_39217_l 2012-08-31 15:31:52

en 7.3 il suffit d'activer Properties/Build/Package / Copy Dependent Libraries et la classe principale (en fonction de la cible sélectionnée) sera ajoutée au manifeste lors de la construction.

0
répondu Samuel Ventura 2013-04-20 01:37:16

Pour forcer manuellement package création avec NetBeans IDE 8.0.2 ...

  1. dans Project navigator, élargissez votre < project > et faites un clic droit sur les fichiers / pom du projet.xml
  2. , Cliquez Sur Exécuter Maven / Objectifs
  3. Type "package" dans les Objectifs de champ
  4. Cliquez sur OK

la fenêtre de sortie s'affichera alors (sur Mac) ...

Building jar: /Users/<username>/NetBeansProjects/<project>/target/<project>-1.0-SNAPSHOT.jar
0
répondu Ken Lin 2015-04-15 20:54:32

Ok avec neatbean vous pouvez faire les étapes suivantes ci-dessous: 1. Cliquez avec le bouton droit de la souris sur nom du projet choisir l'élément configurer la Configuration et choisir personnaliser

2. Choisissez Exécuter avis Classe Principale

3. Choisir parcourir et définir la classe si vous voulez exécuter. Après vous cliquez sur ok.

4. Terminer.

0
répondu vuongluis 2016-07-16 02:18:40