Как исключить транзитивную зависимость в сборке муравья с помощью задачи maven для ant?

Как исключить транзитивную зависимость в задании maven для муравья. Сфера: время выполнения и предоставляемые, похоже, не помогут в этом случае. Это мой build.xml

<artifact:remoteRepository url="https://mynexus/" id="remote.repository"/>

<artifact:dependencies filesetId="dependency.fileset" useScope="runtime">
     <dependency version="1.7.0" artifactId="commons-beanutils" groupId="commons-beanutils"/>
</artifact:dependencies>

У commons-beanutils есть зависимость commons-logging, которую мне нужно исключить.

2 ответа

Я не думаю, что задача Maven поддерживает эту функцию. Вы рассматривали возможность использования Apache Ivy вместо этого? Следующие 2 примера демонстрируют возможность исключения.

Задача cachepath полезна для управления путями классов:

<ivy:cachepath pathid="compile.path">
  <dependency org="commons-beanutils" name="commons-beanutils" rev="1.7.0" conf="default">
    <exclude module="commons-logging"/>
  </dependency>
</ivy:cachepath>

Задача получения может использоваться для локальной загрузки и сохранения файлов:

<ivy:retrieve pattern="lib/[artifact]-[revision](-[classifier]).[ext]">
  <dependency org="commons-beanutils" name="commons-beanutils" rev="1.7.0" conf="default">
    <exclude module="commons-logging"/>
  </dependency>
</ivy:retrieve>

maven-ant поддерживает это исключение, пожалуйста, RTFM https://maven.apache.org/ant-tasks/reference.html

как только

<artifact:dependencies filesetId="dependency.fileset" useScope="runtime">
  <artifact:dependency version="1.7.0" artifactId="commons-beanutils" groupId="commons-beanutils">
    <exclusion groupId="commons-logging" artifactId="commons-logging">
  </<artifact:dependency>
</artifact:dependencies>

Но я не нашел поддержки для исключения некоторых зависимостей, определенных файлом pom

Другие вопросы по тегам