Bonjour à tous, voici mon problème.
J'ai un projet composé de plusieurs répertoires. Parmi ces répertoires, il y a des répertoires 'resource' contenant des fichiers .properties utilisée par Struts pour les labels, etc...
Avant la construction du jar, il y a compilation des fichiers java, et une copie de tout les fichiers .properties, .bmp, .... Tout ces fichiers sont copiés ou compilés vers un répertoire 'classes' utilisé pour construire le jar.
J'aimerais ajouté une tâche pour que les fichiers .properties utilisé par Struts soit "traités" pour remplacer les caractères spéciaux (accent, ...) en unicode, pour ne pas perdre de temps à le faire moi-même lorsque j'ajoute les labels et autres.
J'ai donc ajouté une tâche <native2ascii> juste après le <copy> mais celà ne fonctionne pas.
Les fichier resource (copié juste avant native2ascii) semblent ne pas être pris en compte par la tâche native2ascii. Je suis obligé des les exclure du copy pour qu'ils soient pris en compte.
Il doit y avoir un autre moyen. Etant donné qui je suis un newbie avec Ant et que je n'ai pas écrit ce fichier
Quelqu'un pourrait m'aider à automatiser la tâche de manière propre?
Voici la partie du fichier ant:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| <target name="compile-java">
<mkdir dir="${project.build.classes}"/>
<depend srcdir="${project.source}" destdir="${project.build.classes}" cache="depcache" closure="true">
<include name="**/*.java"/>
<exclude name="Web Content/*"/>
</depend>
<javac destdir="${project.build.classes}"
deprecation="${project.build.deprecation}"
optimize="${project.build.optimize}" debug="${project.build.debug}"
srcdir="${project.source}"
fork="true"
memoryinitialsize="128m"
memorymaximumsize="256m">
<include name="**/*.java"/>
<exclude name="**/Test*.java"/>
<classpath>
<pathelement path="${project.classpath}"/>
<pathelement location="${project.build.classes}"/>
</classpath>
</javac>
<copy todir="${project.build.classes}" overwrite="true">
<fileset dir="${project.source}">
<include name="**/*.properties"/>
<exclude name="**/resource/**/*.properties"/>
<include name="**/*.txt"/>
<include name="**/*.ttf"/>
<include name="**/*.bmp"/>
<include name="**/*.xml"/>
<include name="**/*.xsd"/>
<include name="**/*.xsl"/>
<include name="**/*.xls"/>
<include name="**/*.csv"/>
</fileset>
</copy>
<!-- Change accent into unicode -->
<native2ascii dest="${project.build.classes}" src="${project.source}">
<include name="**/resource/**/*.properties"/>
</native2ascii>
</target> |
Pour info, le code que j'ai ajouté à ce fichier est celui-ci:
<exclude name="**/resource/**/*.properties"/>
1 2 3 4
| <!-- Change accent into unicode -->
<native2ascii dest="${project.build.classes}" src="${project.source}">
<include name="**/resource/**/*.properties"/>
</native2ascii> |
Partager