2

以下に示すように、2つの依存関係を持つWebAppがあります。Ant+Ivyを使用してTomcatにデプロイするためのwarファイルを作成したいと思います。

+
+-MyWebApp // this Dynamic Java Web Application (deployed Tomcat and launches
           // a thread contained in MyApp) 
+-MyApp // this is just a vanilla Java Application
+-MyCommonStuff // these are common classes shared between MyApp and MyWebApp
                // Ex. Database access code & business classes

Antのドキュメントを使用して、プロジェクトごとに適切なbuild.xmlファイルを作成する方法を考え出しました。つまり、各プロジェクトには独立したbuild.xmlがあるため、プロジェクト全体をビルドするには、次のことを行う必要があります。

mkdir build
cd build
export SOME_COMMONBASE=`pwd`
svn co https://mybuildmachine.lan/svn/mycommonstuff mycommonstuff
cd mycommonstuff
ant
cd ..
% this produces mycommonstuff.jar
svn co https://mybuildmachine.lan/svn/myapp myapp
cd myapp
ant
cd ..
% this produces myapp.jar
svn co https://mybuildmachine.lan/svn/mywebapp mywebapp
cd mycommonstuff
ant
cd ..
% this produces mywebapp.war and deploys it to Tomcat

今、私がやりたいのは、1つのビルドを開始できるように、すべてをまとめることです。表面的には、依存関係を相互に結び付けるIvybuild.xmlをなんとかして作成できるはずです。ただし、IvyのドキュメントとGoogledの例を読んだことがありますが、このタスクを実行する方法についてはまだ賢明ではありません。誰かが私にこれを行う方法についていくつかの指針を教えてもらえますか?

4

1 に答える 1

0

あなたがしたいのは、配線にIvyのAntタスクを使用することです。そこには非常に多くの詳細がありますが、基本的には独自のIvyリポジトリが必要であり、他の場所で使用するには、独自のプロジェクトアーティファクトを公開するだけです。

JARライブラリプロジェクトの場合:

  • ivy:retrieveを使用して依存関係を取得し、プロジェクトをライブラリにビルドできるようにします。
  • ivy:publishを使用して、ビルドされたJARを独自のIvyリポジトリーに公開します。

WARプロジェクトの場合:

  • もう一度、ivy:retrieveを使用して依存関係を取得し、プロジェクトをWARにビルドできるようにします。

他の部分に関しては、Ant自体に役立つ多くのタスクがあり、SVNからソースを取得するためのtigrisによるsvnタスクや、WARファイルを外部サーバーに転送するためのAntのオプションのSCPタスクなど、他のタスクによって提供されるタスクがいくつかあります。

于 2010-02-18T17:17:31.823 に答える