Ich bin wirklich kein großer Fan dieses Ansatzes (entweder verwenden Ant oder Maven, aber nicht ein Bastard-Mix), aber Sie einen externen build.xml
mit dem Maven AntRun Plugin verwenden:
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<configuration>
<tasks>
<taskdef resource="net/sf/antcontrib/antcontrib.properties"
classpathref="maven.plugin.classpath" />
<ant antfile="${basedir}/build.xml">
<target name="test"/>
</ant>
</tasks>
</configuration>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b3</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
Und dann laufen mvn antrun:run
(oder setzen Sie die Konfiguration in eine execution
, wenn Sie das AntRun-Plugin an eine Lebenszyklusphase binden möchten, siehe die Seite Usage).
Update: Wenn Sie Dinge von ant-contrib verwenden, müssen Sie es als Abhängigkeit des Plugins deklarieren. Ich habe die Plugin-Konfiguration aktualisiert, um dies zu berücksichtigen. Beachten Sie auch das Element taskdef
, das ich hinzugefügt habe (ich bin mir nicht sicher, dass Sie das Attribut classpathref
benötigen).
$ {basedir} ist welcher Ort? Neben der pom.xml? oder ? –
@Gandalf Ja, '$ {basedir}' stellt das Verzeichnis dar, das pom.xml enthält –
Ich habe das mit v1.7 des antrun-plugins versucht und es scheint, als ob das Ziel nun ausgeführt wird: 'mvn antrun: run' –