Comment faire un POT à partir de a.java


J'écrivais un programme simple en utilisant une application Java (pas une application qui a des projets, mais une application dans un projet; .java) qui a une seule image. Les deux fichiers sont .java donc je ne peux pas écrire un manifeste nécessaire par le POT. Le MyApp.java commence comme une classe avec package, importe ensuite la classe publique MyApp { et a une fonction principale, mais c'est toujours le cas .java! Je l'écris dans JDeveloper 11g si cela aide...

Des idées sur la façon de créer un fichier JAR à partir de ces fichiers?

Author: Robert Harvey, 2012-03-30

6 answers

Ouvrez une invite de commande.

Allez dans le répertoire où vous avez votre .fichiers java

Créer une construction de répertoire

Exécuter la compilation java à partir de la ligne de commande

javac -d ./build *.java

S'il n'y a pas d'erreurs, dans le répertoire de construction, vous devriez avoir votre arborescence de classes

Déplacez-vous dans le répertoire de construction et faites un

jar cvf YourJar.jar *

Pour ajouter manifeste vérifier pot commutateurs de ligne de commande

 64
Author: BigMike, 2016-02-11 15:48:10

Simplement avec la ligne de commande:

javac MyApp.java
jar -cf myJar.jar MyApp.class

Bien sûr, lesEs évitent d'utiliser le terminal de ligne de commande

 16
Author: ab_dev86, 2018-07-20 18:38:59

Ok c'est la solution que j'aurais aimé trouver, à la place ici je l'écris:

Créez d'abord la structure de répertoire correspondant au paquet défini pour le .fichier java, si c'est à mon.super.application créer le répertoire " mon "et à l'intérieur" super " et à l'intérieur de la .fichier java " Application.java "

Puis à partir de la ligne de commande:

   javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java

Notez que ce qui précède inclura plusieurs bibliothèques, si sous Windows utilisez", " pour séparer plusieurs fichiers sinon sous GNU / Linux utilisez ":" De créer un fichier jar

   jar -cvfe App.jar App my/app/

Ce qui précède créera l'application avec son manifeste correspondant indiquant l'application comme classe principale.

Il n'est pas possible d'inclure les bibliothèques requises dans le fichier jar en utilisant les paramètres de ligne de commande java ou jar.

Vous pouvez à la place:

  1. extraire manuellement les bibliothèques dans le dossier racine du fichier jar
  2. utilisez unE tel que Netbeans et insérez une règle dans la section post-jar de nbproject/build-impl.xml à extraire les bibliothèques à l'intérieur du bocal. Voir ci-dessous.
<target name="-post-jar">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
  <jar jarfile="${dist.jar}" update="true">  
            <zipfileset src="${dist.jar}" includes="**/*.class" />  
            <zipfileset src="${file.reference.iText-1.0.8.jar}" includes="**/*"/>
      <zipfileset src="${file.reference.itextpdf-3.2.1.jar}" includes="**/*"/>
  </jar>
    </target>

Le fichier.les noms de référence se trouvent dans le projet.fichier de propriétés après avoir ajouté les bibliothèques à l'EDI Netbeans.

 6
Author: sarah.ferguson, 2015-10-07 12:44:09

Cela peut être fait sans terminal, directement depuis ID. Netbeans, par exemple.

  1. Créez un projet séparé avec des packages (Create Project - Java - Java Class Library).
  2. Mettez votre .classes java là-bas.
  3. Construire ce projet.
  4. Accédez à votre dossier de projet et recherchez les dossiers build et dist.
  5. Trouver .fichier jar dans votre dossier dist.
  6. Obtenez votre autre projet et ajoutez ceci .fichier jar dans les bibliothèques de projets.
  7. Vous pouvez maintenant référencer des classes de cette bibliothèque et de ses méthodes directement à partir du code, si l'importation est automatiquement effectuée pour vous.
 4
Author: Zon, 2013-10-27 16:58:24

Souvent vous voulez spécifier un manifeste, comme ceci:

jar -cvfm myJar.jar myManifest.txt myApp.class

Qui se lit comme suit: "create verbose jarFilename manifestFilename", suivi des fichiers que vous souhaitez inclure. Verbeux signifie imprimer des messages sur ce qu'il fait.

Notez que le nom du fichier manifeste que vous fournissez peut être n'importe quoi, car jar le renommera automatiquement et le mettra dans le bon répertoire dans le fichier jar.

 2
Author: Evgeni Sergeev, 2015-08-11 02:21:08

Voici une autre façon de faire:

$ ls | grep .java | xargs -I {} javac {} ; jar -cf myJar.jar *.class

Qui va saisir tous les .fichiers java (ls | grep .java ) de votre répertoire courant et compilez-les dans .class (xargs -I {} javac {}) puis créez le fichier jar à partir des classes précédemment compilées (jar -cf myJar.jar *.class).

 1
Author: Matthieu vdBiggelaar, 2018-03-23 22:27:02