Je veux ajouter des fichiers de ressources (fichiers texte non-code) au fichier jar dans un projet Java en utilisant Netbeans 6.9, je m'attendrais à utiliser Ant. J'avais pensé que cela serait raisonnablement simple ... mais après un peu de recherche je ne peux pas trouver comment le faire ..! Des pointeurs dans la bonne direction?Netbeans - ajout de fichiers de ressources au fichier jar avec Ant
Répondre
La réponse que je pense que je cherchais est la suivante:
Dans le fichier build.xml (selon la réponse de trashgod) vous pouvez utiliser les crochets déjà dans le script de génération ant pour ajouter ce qui suit:
<target name="-post-jar">
<echo>Adding files to jar...</echo>
<jar destfile="dist/jarFileName.jar" update="true">
<fileset dir="${basedir}">
<include name="files/*"/>
</fileset>
</jar>
</target>
Ceci ajoute le répertoire de fichiers et tous les fichiers sous i t directement dans le fichier jar.
Si vous choisissez File > Project Properties > Build > Packaging
, une boîte de dialogue vous permet d'exclure les artefacts de la construction; tout le reste est l'arbre source est inclus. La source de TreeIconDemo
est un exemple concret qui comprend html
fichiers.
Pour les tâches plus avancées, examinez le build.xml
par défaut généré pour un projet fraîchement créé; il identifie divers hooks dans les tâches prédéfinies. Par exemple,
There exist several targets which are by default empty and which can be used for execution of your tasks. These targets are usually executed before and after some main targets. They are: -pre-init: called before initialization of project properties -post-init: called after initialization of project properties -pre-compile: called before javac compilation -post-compile: called after javac compilation -pre-compile-single: called before javac compilation of single file -post-compile-single: called after javac compilation of single file -pre-compile-test: called before javac compilation of JUnit tests -post-compile-test: called after javac compilation of JUnit tests -pre-compile-test-single: called before javac compilation of single JUnit test -post-compile-test-single: called after javac compilation of single JUunit test -pre-jar: called before JAR building -post-jar: called after JAR building -post-clean: called after cleaning build products
Addendum: En tant que example, cet objectif est prioritaire -post-compile
d'imprimer des statistiques.
<project name="TreeIconDemo" default="default" basedir=".">
<import file="nbproject/build-impl.xml"/>
<target name="-post-compile">
<echo>build.dir: ${build.dir}</echo>
<length mode="all" property="build.size">
<fileset dir="${build.dir}">
<include name="**/*"/>
</fileset>
</length>
<echo>build.size: ${build.size}</echo>
</target>
</project>
Sortie:
$ ant compile Buildfile: build.xml ... -post-compile: [echo] build.dir: build [echo] build.size: 11992 compile: BUILD SUCCESSFUL
Merci trashgod. J'avais vu les hameçons dans le processus de construction ... mais je ne suis pas sûr de savoir comment les utiliser, et je suis assez confus par les différents sites Web et blogs, etc! Pourriez-vous fournir un exemple d'utilisation d'un hook approprié pour inclure le fichier data.txt dans le répertoire fileDir sous la racine du fichier jar au même emplacement? –
@Alistair Collins: J'ai élaboré ci-dessus. – trashgod