我有一个 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 文件夹是只读的,对吗? 为什么会出现该错误?
最佳答案
已解决:我在 WebContent 文件夹下创建了一个“logs”文件夹,并在其中放了一个空文件,因为 Tomcat 不会部署空文件夹。
关于eclipse - Tomcat 无法锁定日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13265708/