2017-06-28 7 views
0

私はTomcatサーバーライブラリ(tomcat/lib)にバネ依存のjarファイルを持ち、クラスパスにバネ関連のjarファイルを使ってバネアプリケーションを実行しています。スプリングプロジェクトの統合

apache-logging 
commons-base 
commons-beanutils(etc..) 

をとTomcatのlibにいくつかの他の春関連のjarファイル:

私はクラスパスにjarファイルを以下しています。 このデザインは正しいですか?

+1

いいえあなたのライブラリをTomcatのlibではなくwebappでパッケージ化してください。 –

+0

すべてのケースの99%で、あなたのtomcat/libディレクトリにSpringライブラリを置いてはいけません。 – Matt

+0

あなたは説明してください、なぜそれが正しいわけではありません。なぜなら、私は春のプロジェクトを風袋に配備しているからです。 – user3428998

答えて

0

多くのアプリケーションで1つのコンテナに同じジャーを使用している場合にのみ、設計上正しいことがあります。これは本当に重要な問題です。

しかし、ほとんどの場合、このデザインは多くの問題を引き起こします。たとえば:

  • あなたは
  • 開発者は、ローカルのTomcatのディレクトリにこのLIBを追加する必要があり、さまざまなアプリケーションで異なるバージョンを使用することはできませんリロードコンテナ
  • なしLIBのバージョンを変更することはできません。あなたが多くの開発者がいくつかのlibのバージョンを変更する場合は、多くの費用がかかる場合があります。

ほとんどの場合、問題は少なくなりますが、提供されている依存関係をいくつか追加することで、解決したい問題に依存します。

+0

アドバイスありがとう – user3428998

0

代わりにTomcatコンテナまたはクラスパス内のすべての依存するjarを有するので、あなたはすべてのjarファイルを更新し、手動で競合を解決する必要があり述べLucemferreとしてmavenまたはgradleのような建物のツールを使用してみてください。あなたはすべての依存ライブラリをロードするためのMavenやGradleの

  1. ツール世話をするようなビルドツールを使用すると

  2. は、更新されたバージョンを保持します
  3. 依存関係を構造化する
  4. 補助を隔離することができますプロジェクト
  5. は、ほとんどのプラグインをサポートします。

それをチェックしてみてくださいhere

+0

アドバイスありがとう – user3428998