web-dev-qa-db-fra.com

Construire un projet dans un fichier JAR automatiquement dans Eclipse

J'ai un projet Eclipse dans lequel je souhaite que mon projet Java soit automatiquement intégré à un fichier JAR. Je sais que j'ai la possibilité d'exporter le projet dans un fichier JAR. si je fais un clic droit; mais ce que je recherche réellement, c’est qu’Éclipse, comme Eclipse, construit automatiquement les fichiers .class d’un projet et les place dans le dossier cible; il doit également créer automatiquement un fichier JAR et copier le dernier fichier JAR à un emplacement donné ou à un emplacement spécifique.

Existe-t-il une option permettant de configurer Eclipse de manière à créer automatiquement des fichiers JAR?

Soyons clairs pour les gars, suffisamment patients pour répondre à ma question; Je ne considère pas ANT comme une solution; comme je l’utilise déjà, mais ce que je voudrais, c’est quelque chose qui est lancé automatiquement avec un déclencheur temporel ou une construction immédiate avec changement.

166
Priyank

Départ Apache Ant

Il est possible d'utiliser Ant pour des constructions automatiques avec Eclipse, voici comment

27
user130076

Vous voulez un fichier .jardesc. Ils ne démarrent pas automatiquement, mais c'est en 2 clics.

  1. Clic droit sur votre projet
  2. Choisissez Export > Java > JAR file
  3. Choisissez les fichiers inclus et nommez le fichier JAR de sortie, puis cliquez sur Next
  4. Cochez "Enregistrer la description de ce fichier JAR dans l'espace de travail" et choisissez un nom pour le nouveau fichier .jardesc.

Il ne vous reste plus qu'à cliquer avec le bouton droit de la souris sur votre fichier .jardesc et à choisir Create JAR pour l'exporter au même endroit.

285
Konrad

Créez un fichier Ant et dites à Eclipse de le construire. Il n’ya que deux étapes et chacune est simple grâce aux instructions détaillées ci-dessous.


Étape 1 Créez un fichier build.xml et ajoutez-le à l'explorateur de packages:

<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file --> 
<project name="TestMain" default="CreateJar">
  <target name="CreateJar" description="Create Jar file">
        <jar jarfile="Test.jar" basedir="." includes="*.class" />
  </target>
</project>

Eclipse devrait ressembler à la capture d'écran ci-dessous. Notez l'icône Ant sur build.xml. Build.xml in Eclipse Project

Étape 2 Cliquez avec le bouton droit sur le nœud racine dans le projet. - Sélectionnez Propriétés - Sélectionnez les constructeurs - Sélectionnez Nouveau - Sélectionnez Génération Ant - Dans l'onglet Principal, indiquez le chemin d'accès au fichier build.xml dans le dossier bin.

Ant builder configurationBuild step - Targets Tab

Vérifiez la sortie

La fenêtre de sortie Eclipse (nommée Console) devrait afficher ce qui suit après une construction:

Buildfile: /home/<user>/src/Test/build.xml

CreateJar:
         [jar] Building jar: /home/<user>/src/Test/Test.jar
BUILD SUCCESSFUL
Total time: 152 milliseconds

EDIT: Quelques commentaires utiles de @yeoman et @betlista

@yeoman Je pense que l'inclusion correcte serait /.class, pas * .class, car la plupart des gens utilisent des packages et que la recherche récursive de fichiers de classe a donc plus de sens que l'inclusion à plat

@betlista Je recommanderais de ne pas avoir build.xml dans le dossier src

69
Thomas Bratt

Cela est possible en définissant un constructeur personnalisé dans Eclipse (voir le lien dans la réponse de Peter). Toutefois, à moins que votre projet ne soit très petit, il risque de ralentir votre espace de travail de manière inacceptable. La création automatique de fichiers de classe se fait de manière incrémentielle, c'est-à-dire que seules les classes affectées par une modification sont recompilées, mais le fichier JAR devra être reconstruit et copié intégralement à chaque fois que vous enregistrez une modification.

13
Michael Borgwardt

En ce qui concerne la réponse de Peter et l'addition de Micheal, vous pouvez trouver utile Comment générer automatiquement un fichier .jar dans un projet Eclipse Java . Parce que même si vous avez le fichier "* .jardesc" sur votre projet, vous devez le lancer manuellement. Il se peut qu’il refroidisse un peu votre "dispute au clic Eclipse".

4
underscore

En utilisant la réponse de Thomas Bratt ci-dessus, assurez-vous que votre build.xml est correctement configuré:

<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file --> 
<project name="TestMain" default="CreateJar">
  <target name="CreateJar" description="Create Jar file">
        <jar jarfile="Test.jar" basedir="bin/" includes="**/*.class" />
  </target>
</project>

(Notez le double astérisque - il indiquera à build de rechercher des fichiers .class dans tous les sous-répertoires.)

1
Hugo Leote

La création d'un lanceur de générateur est un problème car 2 projets ne peuvent pas avoir le même nom de construction d'outil externe. Chaque nom doit être unique. Je suis actuellement confronté à ce problème pour automatiser ma construction et copier le fichier JAR vers un emplacement externe.

J'utilise Zip Builder d'IBM, mais ce n'est qu'une aide, mais je ne fais pas le réel.

Les gens peuvent essayer d'utiliser le plugin IBM Zip Creation. http://www.ibm.com/developerworks/websphere/library/techarticles/0112_deboer/deboer2.html#download

0
Anand Bansal