2010-06-15 9 views
2

Lorsque vous spécifiez des dépendances à l'aide d'ant ivy, existe-t-il un moyen d'exclure un package particulier?Comment exclure un paquet particulier d'une dépendance?

par exemple: Je mets une dépendance à MyJar.jar

il a des paquets

com.test.one 
com.test.one.first 
com.test.one.second 
com.test.two 
etc. 

Je veux exclure le paquet com.text.one.first.

S'il y a un moyen, comment puis-je faire cela?

Répondre

1

Ivy télécharge des modules qui contiennent un ou plusieurs fichiers jar (appelés artefacts) et qui peuvent à leur tour déclarer des dépendances sur d'autres modules.

La directive exclude peut être utilisée pour empêcher le téléchargement de certains artefacts

<dependency name="myjar" rev="1.0"> 
    <exclude module="idontlikethismodule"/> 
</dependency> 

Qu'est-ce que le lierre ne peut pas faire est d'ouvrir un pot et seulement télécharger certains paquets.

Si c'est votre condition alors je suggérerais de télécharger le pot et de le reconditionner en utilisant les commandes ANT unzip et jar.

Quelque chose comme:

<ivy:retrieve pattern="lib/[artifact].[ext]"/> 
<unzip src="lib/myjar.jar" dest="build/unzip"/> 
<jar destfile="build/mynewjar.jar" basedir="build/unzip" excludes="com.text.one.first"/>