0

初めての投稿なので、お手柔らかに。

j2ee Web アプリケーションで使用するサード パーティ製の jar を整理して参照する方法についてアドバイスを求めています。整理して参照する必要がある jar は、JWSDP-2.0 JAXB api jar です。

Eclipse と Tomcat 5.5 を使用しています。私の Web アプリは XML を Web サービスと交換するため、JWSDP-2.0 の JAXB API を使用して XML のマーシャリングとアンマーシャリングを行う必要があります。

JWSDP-2.0 をダウンロードして PC にインストールしました。私は現在、そこに含まれる必要なjarファイルを、自分のマシンのEclipse内で、また自分のマシンと最終的なテストおよび本番サーバーの両方のTomcat内でWebアプリで利用できるようにするための最良の方法を見つけようとしています.

.jar ファイルをプロジェクトの WEB-INF/lib フォルダーにコピーすることから始めました。これは、Tomcat へのデプロイ時に jar ファイルが .war にエクスポートされることを意味していました。ただし、jar ファイルは JWSDP-2.0 のいくつかの異なるライブラリから取得されているため、私はこれが好きではありません。このようにそれらをコピーすると、JAXB、JAXP、SAAJ などとして適切に分離されるのではなく、すべてが一緒に放り込まれることになります。 、いくつかの名前の衝突があります。たとえば、私の Web アプリには、Web アプリの別の部分で既に使用されている xalan.jar などの古い xml 解析 jar が既に含まれています。

次に、これらの jar をすべて削除し、WSDP-2.0 インストールの場所から jar を参照する「jwsdp-2.0_jaxp」、「jwsdp-2.0_jaxb」など、Eclipse 内に一連のユーザー ライブラリを作成しました。これは、Eclipse で Web アプリをコンパイルする限りはうまく機能しますが、Tomcat でこれらの jar を使用できるようにする必要があり、これを行うための最良の方法に少しこだわっています。

したがって、基本的なレベルでの私の質問は、Tomcat で参照される jar ファイルを取得するにはどうすればよいですか?

より一般的には、サーバーへの展開をスムーズにするために、プロジェクトでサードパーティの jar を参照および含めるためのベスト プラクティスに関するアドバイスを探しています。

この種のシナリオのベストプラクティスを学ぶのに役立つ、コードの編成と展開に関する優れた記事/書籍/リソースを誰かが推奨できる場合、それは素晴らしいことです

事前に乾杯。

4

2 に答える 2

3

ここでいくつかのポイント:

  • WAR ファイルで衝突する JARS がある場合は、問題が発生しています。アプリケーションに必要なものを整理し、残りを破棄する必要があります。そうしないと、Tomcat が「間違った」クラスをロードする危険があります。
  • JWSDP 2.0 は非常に古く、古いプレリリース バージョンの JAXB が含まれています。初期アクセスの JAXB2 には多くの問題があったため、最新の JAXB JAR ( http://jaxb.dev.java.netから) を使用することを強くお勧めします。
  • WEB-INF/lib が構造化されたディレクトリ レイアウトを持っていると便利かもしれませんが、これはビルド アーティファクトであるため、実際には問題ではありません。構造化されたリポジトリから JAR を取得している限り、その構造を WAR に保持する必要はありません。Tomcat は気にしません。それらをすべて 1 つのディレクトリに置くことで名前の競合が発生するという事実は、それらの競合を整理する必要があるという警告です。
于 2009-06-03T10:55:52.440 に答える
1

依存関係を整理するためのベスト プラクティスは、maven を使用して Eclipse プロジェクトをビルドし、tomcat に対して war を実行し、必要なすべての依存関係を彼にダウンロードさせることです。

https://jaxb.dev.java.net/jaxb-maven2-plugin/

于 2009-06-03T10:31:29.293 に答える