4

最近、開発中の Web アプリケーションを 64 ビット Eclipse Helios (Service Release 2) を実行する新しいマシンに移動し、Maven プラグイン M2Eclipse を使用しています。

Eclipse を使用してローカルの tomcat インストールにデプロイしましたが、すべて問題ありません (多かれ少なかれ) が、「発行せずにモジュールを提供する」オプションを選択したいのですが、このオプションを選択するとエラーが発生します。

log4j:ERROR Could not read configuration file from URL [file:/C:/butterfly/svn/trunk/micro/src/main/webapp/WEB-INF/classes/log4j.properties].
java.io.FileNotFoundException: C:\butterfly\svn\trunk\micro\src\main\webapp\WEB-INF\classes\log4j.properties (The system cannot find the file specified)

src/main/resources にある私のソース ディレクトリのように、log4j.properties ファイルはありません。ビルド時に target/WEB-INF/classes/.. にコピーされます。

Eclipse は、予想されるターゲット ディレクトリと src ディレクトリを混在させているように見えるため、見つけられません。

これがプロパティ ファイルだけで発生しているのか、それともビルドされたすべてのリソースを探して同じ問題が発生するのかはわかりません。

私はこれらの問題を見てきました:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=318449

http://www.eclipse.org/forums/index.php?t=msg&goto=661045&S=25bafd85b11e042c169ecf1752bfa479

しかし、それらはわずかに異なるか、すでに修正されているようです (私の Helios は先週末からの新しいダウンロードです)

誰でもこれを経験したり、解決方法を知っていますか?

4

1 に答える 1

1

ここから:「公開オプションなしでモジュールを提供することは、それが言うことを行います。Webコンテンツは、動的Webプロジェクトの「WebContent」フォルダーから直接提供されます。カスタマイズされたコンテキストを使用して、プロジェクトの依存関係をWebアプリケーションのクラスローダーで利用できるようにします」 . プロジェクトをビルドした後、EclipseがWEB-INF/classesからすべてのクラス/リソースファイル(log4j.propertiesを含む)を提供することをエミュレートすることを期待しています。回避策として、WebContent 内に「classes」フォルダーを作成し、ここに log4j.properties ファイルをコピーして、クラスローダーが満足するかどうかを確認してください。

于 2011-05-08T00:07:48.047 に答える