ubuntu环境下的tomcat9将日志文件或上传文件存放位置设在 非tomcat的文件夹下时出现Java.nio.file.FileSystemException: Read-only file system
原因:Tomcat由systemd沙盒化,并且仅具有对以下目录的写访问权:
/var/lib/tomcat9/conf/Catalina(实际上是/etc/tomcat9/Catalina)
/var/lib/tomcat9/logs(实际上是/var/log/tomcat9)
/var/lib/tomcat9/webapps
/var/lib/tomcat9/work(实际上是/var/cache/tomcat9
如果需要对其他目录的写访问权限,则必须覆盖服务设置。这是通过在/etc/systemd/system/tomcat9.service.d/中创建一个override.conf文件来完成的,该文件包含:
[Service]
ReadWritePaths=/path/to/the/directory/
此后必须重新启动该服务:
systemctl daemon-reload
systemctl restart tomcat9
以上内容转自:
https://stackoverflow.com/questions/56827735/how-to-allow-tomcat-war-app-to-write-in-folder
https://salsa.debian.org/java-team/tomcat9/blob/master/debian/README.Debian