1

私はJSPを使用してWeb開発を開始しており、アプリケーションに取り組んでいます。個人用ライブラリにあるカスタムロギングクラスがあります。jar変更を加えるたびにライブラリをファイルにエクスポートしたくないので、Webアプリを右クリックして、に移動して、Eclipseライブラリをビルドパスに追加しましたBuild Path --> Projects --> Add --> (library name)

EclipseをJavaクラスにインポートしても、エラーは検出されません。ただし、アプリケーションのクラスの1つ(カスタムロギングクラスをインポートしたもの)からメソッドを呼び出すと、がスローされClassNotFoundExceptionます。

私はオンラインで調べましたが、(間違っている場合は訂正してください)これを解決する方法は、ライブラリをjarファイルにエクスポートして/(project)/WebContent/WEB-INF/libフォルダーの下に置き、ビルドパスに入れることです。

ライブラリに多くの変更を頻繁に加えるため、これは行いたくありません。では、Tomcatにライブラリをエクスポートせずにビルドパスにあることを認識させるにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

2

私は通常、あなたがまったく違うことをするという提案で質問に答えないようにしていますが、この場合、それは正当なことだと思います。

したがって、first..loggingは「解決された問題」です。それはまさに、ほとんどの人が再発明すべきではない種類の車輪です。LogBackとSLF4Jでログを取ります。非常にユニークな状況にある場合、あなたがしなければならないことのほとんどは、新しいアペンダーを実装することです。

さて、より一般的な質問に。苦労している開発者に対して私がよくする提案は、特定のIDEへのプロジェクトの依存を取り除くことです。プロジェクトをコマンドラインからビルド、デバッグ、およびパッケージ化できるように構成すると、作業がはるかに簡単になります。その後、IDEを引き続き使用できます。プロジェクトをIDEに依存させないでください。

これを行うにはいくつかの方法がありますが、かなりうまく機能し、Eclipseや他の多くのIDEと統合する人気のある方法はMavenです。

ユーティリティライブラリとそれに依存するプロジェクトの両方がMavenでビルドされている場合は、ユーティリティライブラリに依存していることを(プロジェクトのMaven構成で)宣言するだけです。

次に、ユーティリティライブラリのプロジェクトで「mvninstall」を実行するだけで、依存するプロジェクトが変更を取得します。

すべてが機能するようになったら、MavenプロジェクトをEclipseにインポートでき、そこでもすべて機能します。

于 2012-09-22T01:31:20.213 に答える