Вызов <if> из Maven-Antrun-Plugin
Я использую Maven-Antrun-Plugin 1.8 для выполнения цели Ant, которая содержит <if>
,
Я прочитал это ant-contrib
необходимо запустить это, поэтому я включил зависимость ant-contrib:ant-contrib:1.0b3
, Это вызывает ant:ant:1.5
быть загруженным транзитивно, что нарушает сборку. Если я добавлю исключение в муравей 1.5, то <if>
опять не определено.
В итоге: мне нужен действительный список зависимостей для maven-antrun-plugin, который позволяет мне вызывать <if>
,
1 ответ
Возможно, в вашем Maven pom может помочь следующее:
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b3</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>ID_HERE</id>
<phase>PHASE_HERE</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath"/>
<if>
<!-- Some if condition here -->
<then>
<!-- Ant tasks to execute if condition is true -->
</then>
</if>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b3</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
</plugin>
</plugins>
</build>
Я понимаю, что это, возможно, не самое оптимальное / эффективное решение вашей проблемы, но это именно то, чем я сейчас пользуюсь, и оно работает без проблем.