0

Vaadin プロジェクトがあり、いくつかのフォルダーで管理するリソースがあります。たとえば、カスタム ロガーがあり、そのログを WebContent/WEB-INF フォルダーに保存したいのですが、ファイル ハンドラーを作成すると、次のエラーが発生します。

java.io.IOException: Couldn't get lock for pathtofile

これは、その FileHandler を作成する方法です。

String baseDir = getContext().getBaseDirectory().getPath();
String path = URLDecoder.decode(baseDir + File.separator + "WEB-INF"+ File.separator + logsPath + File.separator + logName, "UTF-8");
handler = new FileHandler(path, true);

ここで、logsPath は正しく読み込まれたプロパティです。デバッグから検査すると、パス文字列は問題ありません。Eclipse からアプリケーションを起動します。アプリケーションを実行するために eclipse によって作成された tmp0 フォルダーが読み取り専用であることに気付きました。なぜそのエラーが発生するのですか?

4

1 に答える 1

1

解決済み: Tomcat は空のフォルダーを展開しないため、WebContent フォルダーの下に "logs" フォルダーを作成し、その中に空のファイルを置きました。

于 2012-11-12T07:41:26.107 に答える