2

私はプロジェクトをいくつかのサブモジュールに分割しています(それぞれがjarライブラリです):

myapp
    myapp-commons
    myapp-client
    myapp-server

最終的にディレクトリに保存されるpom.xml3つのアセンブリ(、、および)を作成するように構成しclient.zipましoracle.tar.gzた。私が今欲しいのは、FTPを使用してそれらのうちの2つ(と)をサーバーに配布することです。server.tar.gzmyapp/targetoracle.tar.gzserver.tar.gz

まだ試していなくても、Antのいくつかの行を使用して簡単にそれを実行できることはわかっていますがpom.xml、このオプションはあまり好きではありません(Antの問題は、他に解決策がない場合にのみ解決します)。 )。そのための解決策を提供するいくつかのSOの質問(ここまたはここ)があります。

私の質問は、それを行うためのより良い方法があるかどうかを知ることです。Wagon Maven2プラグインについては知っていますが、アセンブリをデプロイするためにプラグインを構成することに成功しませんでした(作成されたJARではありません)。

4

2 に答える 2

2

FTPを使用してアーティファクトをデプロイする方法は、FTPを使用したアーティファクトのデプロイメントに記載されています。

FTPを使用してアーティファクトをデプロイするには、最初にPOMのdistributionManagement要素でFTPサーバーの使用を指定し、FTPでデプロイするために必要なFTPアーティファクトをプルする拡張機能をビルド要素で指定する必要があります。

  ...

  <!-- Enabling the use of FTP -->
  <distributionManagement>
    <repository>
    <id>ftp-repository</id>
    <url>ftp://repository.mycompany.com/repository</url>
    </repository>
  </distributionManagement>

  <build>
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
         <artifactId>wagon-ftp</artifactId>
         <version>1.0-alpha-6</version>
      </extension>
    </extensions>
  </build>

上記のPOMで指定されたFTPリポジトリの要素と一致する要素settings.xml が含まれます。serveridid

<settings>

  ...

  <servers>
    <server>
      <id>ftp-repository</id>
      <username>user</username>
      <password>pass</password>
    </server>

  </servers>

  ...

</settings>

さて、私の理解では、このような設定は、作成されたアセンブリのサブセットにのみ使用する必要があります。そのためには、FTPを使用して配布するアセンブリを作成するための専用モジュールを作成し、このモジュールでのみFTP設定で要素をオーバーライドします。distributionManagement

于 2009-10-13T12:13:38.473 に答える
2

あなたの質問で言うように、Antアプローチは理想的ではありませんが、代替手段が見つからない場合、この回答はantrunプラグインを使用してFTPでデプロイする方法を示しています。ザ

更新、更新された質問に基づいて、この部分はあまり関連性がありませんが、他の人を助けるために残しておきます。

wagon-ftpプラグインを使用すると、FTPサーバーに接続できます。私はこれを試していませんが、deploy-pluginのdeploy-fileゴールを適切なフェーズにバインドして、ファイルをFTPサーバーに配信できる可能性があります(このブログでの使用に関するヒント)。

于 2009-10-13T10:07:24.593 に答える