有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在debian buster中允许对java/tomcat目录的写访问

我用tomcat9包重新安装了debian buster

我想在上面部署GeoWebCache应用程序(最新的1.15版本),它需要一个具有读写访问权限的目录,以便存储配置文件、生成的缓存

我创建目录/opt/gwc_cachedir并对其设置777权限:

# chmod -R 777 /opt/gwc_cachedir

并将我的配置文件(geowebcache.xml)也以777权限放在目录中

启动tomcat实例时,日志显示/opt/gwc_cachedir目录不可写:

ERROR [storage.DefaultStorageFinder] - Found Java environment variable GEOWEBCACHE_CACHE_DIR set to /opt/gwc_cachedir/ , which is not writeable

这似乎是由调用canWrite函数导致的,该函数返回false:

https://github.com/GeoWebCache/geowebcache/blob/f921c79adc24783cc445cf3ba0349b9bcd2a2421/geowebcache/core/src/main/java/org/geowebcache/storage/DefaultStorageFinder.java#L134

我不明白为什么它返回false,因为/opt/gwc_cachedir有777个权限


共 (1) 个答案

  1. # 1 楼答案

    似乎不允许用于运行tomcat9进程的用户或组写入缓存目录

    检查/etc/systemd/system/tomcat.service以查看tomcat进程将作为哪个组和用户运行

    很可能是

    User=tomcat
    Group=tomcat
    

    。。。在这种情况下,只需将缓存目录的所有者更改为^{

    sudo chown -R tomcat: /opt/gwc_cachedir/

    或者是Java的安全管理器阻止访问。。。解决方案仍在等待中