1

簡単なタスクを実行しました:mvn deploy最終的なアーティファクトorg.foo.MyProject_1.2.3.warを/tomcat/webapps/myproject.warにコピーします

Mavenのドキュメントに従ってpomを設定します。

...
<distributionManagement>
        <repository>
                <id>local_tomcat</id>
                <url>/tomcat/webapps</url>
        </repository>
</distributionManagement>
...    
<extensions>
        <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-file</artifactId>
                <version>2.2</version>
        </extension>
</extensions>
...

しかし、それはうまくいきませんでした。何らかの理由で、ワゴンはディレクトリ/org/foo/MyProject/1.2.3を作成しようとして失敗します。

もちろん、tomcat:deployまたはantを利用することもできますdeployが、デプロイメントには正しい選択だと思いました。

プラグインを虐待したように見えます。これは、リモートリポジトリにアーティファクトをインストールする機能とdeployまったく同じです。install私は正しいですか?

間違っdeployた選択の場合、Mavenでファイルを転送/名前変更する適切な方法は何ですか?Wagonは、ファイルの名前を変更できるかどうかはわかりませんが、見栄えがします。

よろしくお願いします

4

2 に答える 2

1

Mavenでのデプロイとは、アーティファクトをリモートリポジトリ(通常はリポジトリマネージャーまたは場合によってはMavenセントラル)に配置することであり、Tomcatなどのコンテナーには配置しないことです。さらにMavenのライフサイクルに基づいて、デプロイフェーズはインストールフェーズの後に行われます。つまり、mvn deployを呼び出した場合、インストールはすでに実行されています。アーティファクト(通常は戦争)をTomcatにデプロイする場合は、maven-tomcat-pluginが正しい選択です。ある種の統合テストを行うには、cargo2-maven-pluginの方が優れたソリューションになる可能性があります。

于 2012-06-01T12:15:21.633 に答える
0

デプロイタスクは通常、プロジェクトによって構築されたアーティファクトをリモートリポジトリにデプロイし、他のユーザーがダウンロードできるようにするために使用されます。

プロジェクトによって構築された戦争をアップロードする場合は、http://mojo.codehaus.org/tomcat-maven-plugin/deployment.htmlまたは同等のプラグインを使用してください。

于 2012-06-01T12:17:20.627 に答える