Вызов <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>

Я понимаю, что это, возможно, не самое оптимальное / эффективное решение вашей проблемы, но это именно то, чем я сейчас пользуюсь, и оно работает без проблем.

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