Как исключить конкретный пакет из зависимости? - PullRequest
2 голосов
/ 15 июня 2010

При указании зависимостей с помощью ant ivy, есть ли способ исключить определенный пакет?

Например: я ставлю зависимость на MyJar.jar

есть пакеты

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

Я хочу исключить пакет com.text.one.first.

Если есть способ, как я могу это сделать?

1 Ответ

1 голос
/ 15 июня 2010

Ivy загружает модули, которые содержат один или несколько файлов JAR (называемые артефактами) и которые, в свою очередь, могут объявлять зависимости от других модулей.

Директива exclude может использоваться для предотвращения загрузкинекоторых артефактов

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

Что плющ не может сделать, так это открыть банку и загрузить только определенные пакеты.

Если это ваше требование, я бы предложил загрузить jar, а затем перепаковать его, используя команды ANT unzip и jar .

Что-то вроде:

<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"/>
...