Как запустить конкретную цель с помощью плагина antrun из командной строки?
Чтобы строго ответить на этот вопрос, вы не можете и не можете.
То, что вы можете сделать, это либо:
1. предоставить плагин уровня configuration
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<configuration>
....
</configuration>
</plugin>
И эта конфигурация будет использоваться при вызове плагина (независимо от того, как вызывается плагин: из cli, часть жизненного цикла).
2. предоставить уровень исполнения configuration
(что вы и сделали)
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>myExecution</id>
<phase>deploy</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<ant target="myTarget" inheritRefs="true">
...
</ant>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
И затем вызвать фазу, к которой подключен плагин (deploy
в данном случае).
3. предоставить уровень исполнения configuration
для специального default-cli
идентификатора исполнения
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<tasks>
<ant target="myTarget" inheritRefs="true">
...
</ant>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
Начиная с Maven 2.2.0 (см. MNG-3401 ), цели, вызываемые непосредственно из командной строки, можно настраивать в POM отдельно от других вызовов плагинов, используя специальный идентификатор выполнения, называемый default-cli
. Другими словами, приведенная выше конфигурация будет использоваться только при вызове плагина из командной строки.
Но в любом случае вы не можете вызвать определенный Ant target
внутри элемента configuration
. Возможно, вы могли бы возиться с профилями, чтобы реализовать что-то подходящее, но, если вы действительно хотите пойти в этом направлении, мой совет будет использовать Ant.
Ссылки