Maven-antrun No ant target определен - SKIPPED
Я пытаюсь скопировать файл в моем мультимодульном проекте maven через antrun-плагин. файл находится в корневом каталоге родительского проекта:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<inherited>false</inherited>
<executions>
<execution>
<inherited>false</inherited>
<id>copy</id>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target name="copy and rename file">
<copy file="${basedir}/portal-ext.properties" tofile="${liferay.auto.deploy.dir}/../portal-ext.properties" />
</target>
</configuration>
</execution>
</executions>
Я запускаю это через mvn antrun:run
, проблема заключается в том, что я получаю "Нет ant target defined - SKIPPED" на родительском и на каждом модуле. Мне нужно, чтобы он работал только на родителях и думал, что <inherited>false</inherited>
поможет, но я этого не сделаю. Но почему "Нет ant target определено"?
Ответы
Ответ 1
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>ant-execute</id>
<configuration>
<target>
<echo message="plugin classpath: " />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
команда: mvn antrun: run @ ant -execute
Ответ 2
antrun:run
рассмотрит только конфигурацию плагина, а не для конкретного выполнения, поэтому указанное вами выполнение игнорируется. Как Запустить одноблочное исполнение Maven:, вы можете дать вашему исполнению идентификатор default-cli
, чтобы он его взял.
Однако выполнение, которое вы настроите, должно уже вступить в силу во время обычного жизненного цикла сборки.
Ответ 3
просто запустите его так: mvn antrun:[email protected]