Lors de mon travail, nous utilisons AspectJ dans certains de nos projets Java. Pour que cela fonctionne avec les builds ant, nous avons placé aspectjtools.jar dans ant/lib /.Comment remplacer la tâche ant stockée dans le répertoire ant lib
Je travaille actuellement sur un projet Java particulier et j'ai besoin d'utiliser une version plus récente d'aspectJ. Je ne veux pas que tous ceux qui utilisent le projet mettent à jour leur copie locale de aspectjtools.jar. Au lieu de cela, j'ai essayé d'ajouter le plus récent aspectjtools.jar au répertoire lib du projet et d'ajouter la ligne suivante à build.xml.
<taskdef
resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"
classpath="./lib/aspectjtools.jar" />
Cependant, cela ne fonctionne pas comme je l'espérais que les charges ANT classloader pots de fourmi/lib/de préférence à la jarre je précise dans le classpath taskdef.
Existe-t-il un moyen de forcer Ant à choisir le pot vérifié dans mon projet à la place?
J'ai essayé d'utiliser Jarjar remballer aspectj dans un package différent, mais cela semble avoir brisé aspectj et se sent comme un piratage géant donc je ne poursuis pas cette approche plus loin. – mchr
Jusqu'ici je conclus qu'il n'y a aucun moyen de forcer la fourmi à choisir le pot vérifié dans mon projet à la place. Cela ressemble à un choix de conception étrange car je m'attendais à ce que le fichier build.xml pour un projet particulier soit le meilleur endroit pour choisir la version d'une tâche à utiliser. – mchr
https://issues.apache.org/bugzilla/show_bug.cgi?id=6606 - Semble être un bug de longue date. Je suis en train de lire le fil de commentaires maintenant. – mchr