0

私はEclipseを使用してJavaのWebプロジェクトで作業しています。

このプロジェクトは、少なくとも、2 つの異なる WAR で「開発」および「テスト」として展開されます。

プロジェクトは正常に動作しています。

しかし、WAR ファイルとしてエクスポートすると、各 WAR には、使用されているライブラリ (Spring JAR、Quartz JAR、Hibernate JAR など) のコピーが含まれています。

そのため、実装ごとに JAR を繰り返しています。

したがって、私の上司のアイデアは、Web プロジェクトから JAR を削除し、次のようにすることです。

オプション 1: すべてのライブラリを Windows フォルダーにコピーし、「相対パス」で参照します。

オプション 2: JAR を Java JRE/JDK lib フォルダーに置き、何らかの方法で JAR を参照します。

また、この変更により、PermGem Exception を解決しようとしています。

最高のアイデアとは?

私はJavaプロジェクトが初めてなので、その方法がわかりません。

あなたの答えに感謝し、私の下手な英語で申し訳ありません

4

2 に答える 2

0

私はあなたの現在のアプローチがより良いと感じています、それぞれの戦争で瓶を詰め込んでいます。@Daveが言ったように、それらを共通の場所に置くと、依存関係の問題が発生します。また、どちらのオプションもPermGenエラーを解決しません。一時的な対策として、JVM引数を使用してPermGenメモリを増やしてみて-XX:MaxPermSizeください。その後もメモリ不足エラーが発生する場合は、メモリリークがどこにあるかを調べる必要があります。

于 2013-01-23T13:49:39.640 に答える
0

IMO の最良のアイデアは、それらをアプリケーションにバンドルすることです。

他に理由がなければ、これにより、他のバージョンに影響を与えることなく、あるバージョンのライブラリをアップグレードできます。

于 2013-01-23T13:31:33.313 に答える