1

一部の機能が GWT で実装されている Web アプリケーションがあります。Ant スクリプトを介して Eclipse で gwt コードをコンパイルしているときに例外が発生します。

log4j:ERROR setFile(null,true) call failed.
FileNotFoundException: \logs\App.log (The system cannot find the path specified)

上記の例外を無視すると、アプリケーションは正常に動作し、設定されたファイル パスの下にある App.log ファイルのログが適切に更新されます。しかし、この例外により、gwt コード ID がコンパイルされません。

log4j.properties ファイルでは、以下のパスが設定されています。

log4j.appender.R.File=${catalina.base}/logs/App.log

このパスを絶対パス (D:\App.log など) に変更すると、完全に実行されます。現在、私は Windows でビルドを実行しており、後で戦争は Linux に展開されます。

相対パスでコンパイルするにはどうすればよいですか? 不足している構成はありますか?

4

1 に答える 1

1

システム プロパティが定義されていない場合、パスはエラー メッセージにあるcatalina.base絶対パスになります。/logs/App.log

次のいずれかを試してください。

  • log4j.propertiesアプリのコンパイル時にクラスパスからファイルを削除します
  • アプリをコンパイルするときに、catalina.baseシステム プロパティを既存のパス (logsサブフォルダーが必要な場合があります) に設定します。
于 2013-06-19T15:07:35.753 に答える