2009-08-26 9 views
3

私は自分のアプリケーションサーバーを持つ顧客に配布する必要があるJ2EEアプリケーションを持っています。 J2EEアプリケーション・ソースをコンパイルして最終的にサーバーにアプリケーションをデプロイできるようにするビルド・スクリプトを作成するための推奨される方法は何ですか?アプリケーションサーバーに依存しないビルドスクリプト

さらに、コンパイルプロセスで実際に使用するJARファイルはどれですか?これはアプリケーションサーバーにとらわれないスクリプトを意味するので、顧客が特定のサーバーからこれらのJARをダウンロードするのではなく、アプリケーションサーバーからJAR(例:servlet.jar、jms.jar、ejb.jarなど)を使用することをお勧めしますリポジトリ?そのようなJAR(J2EE APIのJAR)に推奨されるリポジトリはありますか?

PS:追加の開発は、他のシステムと統合するために、各インストール時に行われますので、EARファイルは、ローカルで構築され、顧客に出荷することはできません、アプリケーション上でカスタマイズを行うなど

+0

WEB-INF/libに/からあなたは顧客があなたのアプリケーションを構築したいと思いますなぜ私は理解していない。でしょう通常は、jarファイルやwarファイルを含むearファイルでアプリケーションを構築し、問題のアプリケーションサーバーに展開します。ただし、依然としてアプリケーションサーバー固有のデプロイメント記述子が必要です。 – Kolibri

+0

はい、理想的には私はこれらのジャーを出荷しますが、アプリケーションでカスタマイズを行うことは非常に一般的です。実際、EARファイルが出荷されない最も重要な理由は、各サイトで開発が行われるためです(アプリケーションはパートナーシステムと統合され、一部はオフショア化されません)。 –

答えて

1

アプリケーションをローカルにビルドし、WAR/EARファイルを顧客に配布します。


編集:

あなたが記述状況は基本的にあなたが顧客によるさらなる開発のためのコードベースを提供する必要があるということです。その場合、私はあなたの仕事のmavenモジュールを作成して、privateリポジトリにプッシュすることをお勧めします。次に、pom.xmlのモジュールXバージョンYに依存する必要があることを知らせると、モジュールXは正しいバージョンで必要なすべてのライブラリを取得します。

Mavenを使用していない場合は、Ant Ivyを使用して依存関係を解決できます。

+0

これは配備戦略を立てるときに考えられたものの、除外されました。私はその理由を示すために質問を更新しました。 –

+0

私たちはJARを配布するつもりはないので、インターネットベースのリポジトリを調べていませんが、それはどうにか排除していないものです。しかし、私はJARが誰にでも配布するためにどのように使用すべきかを知りたいと思っています。たとえば、サーブレットをどこから得るべきですか?ベンダーから入手したservlet.jarを含むリポジトリをホストすることは賢明ではないと思います。 –

+0

Webコンテナクラスローダによってロードされていない名前空間/パッケージに属するクラスであるため、問題ではありません。私はslf4jのパッチをGeronimoのものを選んだところでやった。 –

0

基本的には、含まれていません。 EARまたはWARファイル内のコンテナ・ジャー(servlet.jar、jms.jar、ejb.jarなど)。

あなたが単にservlet.jarについて話しているのであれば、Webコンテナはそれを提供します。あなたはそれをwarファイルに含めるべきではありません。

EARファイルを作成する場合は、エンタープライズコンテナを使用する必要があり、JMS.jarとEJB.jarがあります。

TomcatのJMSはちょっと難しいでしょう。サーバにactivemqのようなものをインストールする必要があります。

+0

ジャーを提供するコンテナについて合意した。しかし、要点は、コンパイル時にビルドスクリプトがこれらのjarファイルを必要とすることです。私は個人的には、私はこれらのjarを参照しようとするべきではないと思う私は、サーバーごとにビルドスクリプトを持っていない限り、私はこれらのjarファイルがすべてのサーバー上にあるかわからない限り。 –

+0

ところで、アプリケーションはJ2EEコンテナにデプロイされるので、Tomcatは顧客がアプリケーションをデプロイするものではありません。 –

+0

これらのjarにはJava EEが付属しています。 – stevedbrown

1

いくつかの一般的なJ2EE API jarはSunのサイトで見つけることができますが、多くを見つけてそれらを見つける必要があります。

私はただ、あなたが手元にある任意のJARを使用して、ソースとの同梱が、離れ

+0

はい、問題は掘り起こしにあります。 Java APIのjarファイルにはMavenリポジトリに似たリポジトリがあることが好ましいでしょう。なぜなら、URLを人に指摘してjarファイルをビルド前にlibディレクトリに置くのはかなり簡単だったからです。 –

+0

それでも十分ではない場合、Sunはj2ee.jarとservlet.jar(別名SDK)のコピーを取得するために、完全なアプリケーションサーバーをダウンロードしたいと考えています。 –

+0

私は正しい方向に向いています。私は、個々のJSRからソースをコンパイルするために必要なjarファイルを入手できるとわかりました。 –

関連する問題