Mavent AntRun не выполняет задачи
Следуя инструкциям на странице использования (http://maven.apache.org/plugins/maven-antrun-plugin/usage.html) и другим вопросам Stackru, я пытался запустить задачу Ant из моей сборки Maven., Я упростил то, что я должен делать, до простого эха "Привет, Maven", но я ничего не понимаю.
Я выполняю Maven с:
mvn package
Я хочу, чтобы эта конкретная задача выполнялась до упаковки ("prepare-package"), поэтому я сначала попробовал эту фазу, но когда это не сработало, я попытался сделать свою фазу просто "package".
Вот одна конфигурация плагина, которую я пробовал:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>id.package.ant</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo message="Hello, maven"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
А вот еще один, который я попробовал:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>id.package.ant</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo message="Hello, maven"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
Я также пробовал это без
Я не получаю ни ошибок, ни вывода вообще. Даже если я выполню Maven -debug, слово "эхо" нигде не появляется в выходных данных, слово "antrun" нигде не появляется в выходных данных, а слово "привет" нигде не появляется в выходных данных.
Это похоже на то, что конфигурации плагина там даже нет.
4 ответа
Андрей получил правильный ответ в своих комментариях. Когда я переместил свой Maven-Antrun-плагин как есть выше (с <target>
вместо <tasks>
) Снаружи <pluginManagement>
и в автономный <plugins>
, мое Ant-задание начало выполняться.
Удивительно, сколько запросов Google и Stackru не возвращали другой вопрос раньше, но теперь я лучше понимаю pluginManagement. Спасибо, Андрей!
Я столкнулся с подобными проблемами, и это работало только когда я добавил тег версии 1.8. Это не сработало бы иначе. Это может помочь.
У меня была похожая проблема. В моем случае это было потому, что у меня не было <id>...</id>
тег установлен для исполнения. Ниже приведен XML, который работал:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>test</id> <!-- has to be set -->
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target name="test">
<echo message="testing 1 2 3"/>
</target>
</configuration>
</execution>
</executions>
</plugin>