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.
Départ Apache Ant
Il est possible d'utiliser Ant pour des constructions automatiques avec Eclipse, voici comment
Vous voulez un fichier .jardesc
. Ils ne démarrent pas automatiquement, mais c'est en 2 clics.
Export > Java > JAR file
Next
.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.
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.
É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.
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
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.
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".
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.)
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