2010-06-15 6 views
2

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

например: Я кладу зависимость к MyJar.jar

имеет пакеты

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

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

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

ответ

1

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

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

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

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

Если это ваше требование, я предлагаю загрузить банку, а затем переупаковать ее с помощью команд ANTи 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"/> 
Смежные вопросы