antプロジェクトをmavenに変換したばかりですが、mavenは実際にはデプロイメントを処理しないため、ビルドにいくつかのantrunを導入します。ただし、実行しようとすると、プラグインはタスクをスキップします。たとえば、mvn clean antrun:runを実行すると、次のメッセージが表示されます。antターゲットが定義されていません-スキップされました。同じことが、リポジトリにアップロードするのではなく、実際のデプロイを実行するためにデプロイフェーズをオーバーライドしようとしている第2フェーズでも発生します。
以下に私のpom.xml(type:pom)の抜粋を見つけてください:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>clean</id>
<configuration>
<task>
<echo>Cleaning deployed website</echo>
</task>
<tasks>
<delete dir="${deployRoot}/mydir/${env}"/>
</tasks>
</configuration>
<phase>clean</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>deployment</id>
<configuration>
<task>
<echo>Deploying website</echo>
</task>
<tasks>
<echo>Copying website artifact to deployment </echo>
<mkdir dir="${deployRoot}/mydir/${env}" />
<unzip
src="${project.basedir}/target/${env}.${project.version}.zip"
dest="${deployRoot}/mydir/${env}" />
<chmod perm="ugo+rx">
<fileset dir="${deployRoot}/mydir/${env}/web-exploded/bin">
<include name="**/*.sh" />
<include name="**/*.bat" />
</fileset>
</chmod>
</tasks>
</configuration>
<phase>deploy</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>