Comment ajouter un répertoire contenant des fichiers de propriétés pour une Fourmi build.xml?
Je suis en train de construire un "uberjar" avec ant, et le projet a une config avec plusieurs fichiers de propriétés.
Comment puis-je ajouter de la config dir de build.xml?
Voici un exemple de la façon dont il est référencé:
static private String CONFIG_DIR = "config/";
static public String CONFIG_FILE = "proj.properties";
File configFile = new File(CONFIG_DIR, CONFIG_FILE);
Il y a de multiples propriétés des fichiers dans le répertoire config. Normalement, je voudrais juste ajouter à la variable classpath:
java -classpath bin:lib/*:config some.project.Example
Voici mon build.xml la cible, ce qui n'est pas tout à fait juste:
<target name="uberjar" depends="compile">
<jar jarfile="${babelnet.jar}">
<fileset dir="${bin.dir}">
<include name="**/*.class"/>
</fileset>
<zipgroupfileset dir="lib" includes="*.jar"/>
</jar>
<copy todir="config">
<fileset dir="config">
<include name="**/*.properties"/>
</fileset>
</copy>
</target>
vous devriez envisager de charger les fichiers en tant que ressources de l'classpath: stackoverflow.com/questions/3294196/...
Je préfère ne pas modifier le code si possible, c'est un projet externe que je suis en train d'évaluer.
Êtes-vous essayer d'ajouter les propriétés des fichiers d'un répertoire config dans le pot?
Oui, donc c'est accessible à l'intérieur de la jarre.
il n'est pas possible d'accéder à n'importe quoi à l'intérieur d'un fichier jar avec le nouveau Fichier() ..., vous avez besoin d'avoir ces fichier séparé de votre pot si vous ne voulez pas changer le code
Je préfère ne pas modifier le code si possible, c'est un projet externe que je suis en train d'évaluer.
Êtes-vous essayer d'ajouter les propriétés des fichiers d'un répertoire config dans le pot?
Oui, donc c'est accessible à l'intérieur de la jarre.
il n'est pas possible d'accéder à n'importe quoi à l'intérieur d'un fichier jar avec le nouveau Fichier() ..., vous avez besoin d'avoir ces fichier séparé de votre pot si vous ne voulez pas changer le code
OriginalL'auteur espeed | 2012-08-17
Vous devez vous connecter pour publier un commentaire.
Pour inclure les propriétés des fichiers dans le nouveau fichier jar, vous pouvez ajouter une autre imbriquée
<fileset>
à la<jar>
tâche.Aussi, voir stackoverflow question: Comment lire un fichier à partir d'un fichier jar?
new File(CONFIG_DIR, CONFIG_FILE);
n'est pas de trouver le fichier.Voir le lien vers Comment faire pour lire un fichier à partir d'un fichier jar?
Merci. Je suis en train de faire ce travail sans modifier le code du projet, c'est un projet externe.
Si vous devez utiliser un Java
File
de l'objet, alors vous ne serez pas en mesure de lire les fichiers de propriétés du fichier jar.OriginalL'auteur Christopher Peisert