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 フォルダーが読み取り専用であることに気付きました。なぜそのエラーが発生するのですか?