Question

J'ai créé mon propre build.xml qui contient:

<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>

Cela fonctionne très bien. Lorsque j'appelle ant run, il compile et exécute mon application, mais celle-ci contient un package avec des icônes et elle n'est pas déplacée dans un dossier " build " mon application se termine donc avec une exception, à savoir qu'elle ne peut pas localiser mes icônes. Quand je les déplace moi-même, alors ça marche.

j'ai essayé d'utiliser

<copy todir="build/app/icons">
    <fileset dir="src/app/icons"/>
</copy>

Cela fonctionne, mais je voudrais le faire sans la commande copy. Y at-il un paramètre à javac? Ou autre chose?

Merci pour votre réponse.

Était-ce utile?

La solution

Désolé, vous devrez copier les fichiers non Java manuellement. Les ressources ne sont techniquement pas des "sources". Le javac en ligne de commande ne copie pas les fichiers de ressources de votre répertoire source dans le répertoire de sortie, pas plus que la tâche javac d'Ant.

Autres conseils

Ce paramètre n'existe pas. Vous pouvez copier toutes sortes de fichiers entre vos répertoires avec:

<copy todir="build">
    <fileset dir="src"
             includes="**/*.xml,**/*.properties,**/*.txt,**/*.ico" />
</copy>

Vous pouvez le faire en utilisant l'élément ensemble de fichiers de la tâche jar au lieu de copier manuellement les fichiers. Par exemple:

<jar destfile="dist/app.jar" basedir="build">
    <fileset dir="src" includes="app/icons/**" />
</jar>

Ceci va copier tout le contenu de src / app / icons / dans le chemin app / icons de votre fichier .jar.

Non, il n'y en a pas. La tâche de copie constitue le moyen approprié de copier des ressources dans vos dossiers de construction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top