Ant de la compilation ne copie pas les ressources
J'ai créé mon propre build.xml qui a:
<target name="compile">
<mkdir dir="build"/>
<javac destdir="build">
<src path="src"/>
</javac>
</target>
<target name="build" depends="compile">
<mkdir dir="dist"/>
<jar destfile="dist/app.jar" basedir="build" />
</target>
<target name="run" depends="compile">
<java classname="webserver.Loader" classpath="build" fork="true" />
</target>
Il fonctionne très bien. Quand je l'appelle ant exécuter de sorte qu'il compile et s'exécute mon application, mais ma demande a un paquet avec des icônes et il n'est pas déplacé vers un dossier "build" pour mon application se termine avec une exception qu'il ne pouvait pas localiser mes icônes. Quand je les déplacer par moi-même, alors il fonctionne.
J'ai essayé d'utiliser
<copy todir="build/app/icons">
<fileset dir="src/app/icons"/>
</copy>
Il fonctionne, mais je voudrais le faire sans la commande de copie. Est-il un paramètre à javac? Ou quelque chose d'autre?
Merci pour la réponse.
Vous devez vous connecter pour publier un commentaire.
Désolé, vous devez copier les non-java fichiers manuellement. Les ressources sont techniquement pas de "source". La ligne de commande javac ne pas copier des fichiers de ressources à partir de votre répertoire source vers le répertoire de sortie, ni de la fourmi javac tâche.
Il n'y a pas de tels paramètres. Vous pouvez copier toutes sortes de fichiers entre vos répertoires avec:
Vous pouvez faire cela en utilisant la
fileset
élément de lajar
tâche plutôt que de copier les fichiers. Par exemple:Cela va copier tout dans
src/app/icons/
à laapp/icons
chemin dans votre .fichier jar.Non, il n'y en a pas. La tâche de copie est la bonne façon de copier les ressources dans votre construire des dossiers.