戦争パスには、組み込みのMavenプロパティを使用できます。
${project.build.directory}/${project.build.finalName}.${project.packaging}
デプロイメントパスをカスタムMavenプロパティとして設定する必要があります。これを行うにはいくつかの方法があります。1つは、次のようにpomに直接設定することです。
<properties>
<deploy.path>C:/Softwares/apache-tomcat-6.0.33/webapps/Test.war</deploy.path>
</properties>
ただし、これは、変数内だけで、pom内のパスをハードコーディングするのは依然として困難です。
もう1つの方法は、properties-maven-pluginを使用してプロパティファイルを読み込むことです。これにより、ユーザー固有の設定がpomから除外され、プロパティファイルをソース管理から除外できます。ただし、これはMavenで推奨される方法ではなく、このプラグインは将来のバージョンでサポートされなくなる可能性があります。
これを行うMavenの方法は、デプロイパスを〜/ .m2/settings.xmlファイルに保存することです。このプロパティは、デフォルトでアクティブにできるプロファイルに組み込まれます。説明については、このページを参照してください。
deploy.path変数を設定したら、copyステートメントを次のように変更します。
<copy file="${project.build.directory}/${project.build.finalName}.${project.packaging}"
tofile="${deploy.path}" />
編集:
最小限のサンプルプロジェクトでは、次のプロパティがすべて設定されています。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<configuration>
<target>
<echo message="project.build.directory: ${project.build.directory}"/>
<echo message="project.build.finalName: ${project.build.finalName}"/>
<echo message="project.packaging: ${project.packaging}"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
これらのプロパティが設定されていない場合は、pom.xmlを投稿できますか?