Bon il semble qu'il y ait deux solutions:
1/ copier le tools.jar dans son repository local ou dans un remote:
j'aime pas, parce qu'on dépend alors d'une version spécifique de la jdk.
2/ utiliser le "dependency overriding" ( http://maven.apache.org/reference/ [...] pendencies ) comme ceci:
dans le project.xml, mettre une dependence:
Code :
- <dependency>
- <groupId>jdk-tools.jar</groupId>
- <artifactId>jdk-tools.jar</artifactId>
- </dependency>
|
et dans project.properties (ou autre fichier properties lu par maven):
Code :
- maven.jar.override=on
- maven.jar.jdk-tools.jar=${java.home}/../lib/tools.jar
|
Je préfère cette solution, car bien que le dep.overriding soit déconseillé dans la plupart des cas, il semble que dans ce cas-ci il soit particulierement adapté, à défaut d'une solution encore plus propre (ie, si maven avait un type de dependence "speciales", par exemple, pour tools.jar et autres jars specifique au jdk??)
remarques:
- le nom "jdk-tools.jar" est arbitraire et choisi par moi dans ce cas. l'important est que dans le .properties, le nom de maven.jar.foobar correspondent à l'artifactId de la dependence du project.xml
- le "../" dans le path vers le tools.jar n'est peut etre pas standard? il semblerait que le java.home de mon maven pointe sur mon repertoire xyz/jdk/jre . En cas de doute, verifier avec un preGoal dans maven.xml:
Code :
- <preGoal name="java:compile">
- <echo message="java.home = ${java.home}"/>
- </preGoal>
|
---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?