Je suis sûr que cela a été posé avant ou est assez simple. Mais pour une raison quelconque, je ne peux pas sembler le faire fonctionner. Je veux utiliser la fourmi pour copier le J'ai cela en ce moment et il ne semble pas fonctionner: p> {build.classpath} code> (qui contient une liste de bocaux séparés colon) sur le
$ {sortie.dir} / myApp / web-inf / lib Code>.
<copy toDir="${output.dir}/myapp/WEB-INF/lib">
<fileset file="${build.classpath}" />
</copy>
3 Réponses :
Je pense que vous devriez mettre tous vos fichiers jar séparés colons dans un dossier racine. S'il n'est pas possible, créez une tâche distincte qui mettez ces fichiers JAR dans un seul dossier (peut être temporaire). Et Attribuer J'espère que cela devrait aider. P> $ {build.classpath} code> dans ce dossier. Utilisez
Je pense que quelque chose comme ça devrait fonctionner:
<copy todir="${output.dir}/myapp/WEB-INF/lib" verbose="yes" flatten="yes" failonerror="no"> <fileset dir="${build.classpath}"> <include name="*.jar" /> </fileset> </copy>
Désolé, cela ne fonctionne pas du tout. Le classPath code> contient la liste des chemins séparés du côlon. La seule chose qui a fonctionné pour moi jusqu'à présent, est
user268396 code> la réponse.
Le manuel ANT sur la tâche de copie contient la réponse à votre problème. L'un des exemples d'extraits qu'il fournit:
Collectez tous les éléments du paramètre de classe actuel dans un répertoire de destination, en aplatissant la structure de répertoire. P> blockQuote>
xxx pré> p>
Merci beaucoup, j'ai dû oublier cela en quelque sorte. Cela a parfaitement fonctionné. Il copie tout dans le classpath code> dans le répertoire de destination. Mais le
classPath code> peut contenir des répertoires ou des fichiers qui ne sont pas des pots, comment puis-je exclure tout ce qui n'est pas un fichier JAR?
Remplacez l'utilisation du chemin avec
La partie indispensable de la réponse est le Flatten = "true" code> b> option. Si vous ne vous définissez pas, je ne ferai rien.