【问题标题】:Tomcat Denying access to resource file in exploded war directoryTomcat拒绝访问爆炸战争目录中的资源文件
【发布时间】:2018-02-04 00:21:49
【问题描述】:

我们在 Tomcat 7.0.65 上部署了一个 WAR 应用程序。这个应用程序使用了一个库,它的资源目录中有一堆多边形.txt 文件。每当调用该库时,它都会在已展开的 war 目录中的 jar 文件上引发文件权限异常。

这是错误:

Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "/var/lib/tomcat7/webapps/**/WEB-INF/lib/table-service-1.37.jar" "read")
    at org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream(WebappClassLoaderBase.java:1659) ~[catalina-7.0.65.jar:7.0.65]
    at com.**.PropertyGeometryDAO.initialize(PropertyGeometryDAO.java:47) ~[table-service-1.37.jar:?]

在代码中的这一行抛出:

try (InputStream stream = getClass().getClassLoader().getResourceAsStream(fileName))

这是定义权限的 catalina.policy 文件:

permission java.io.FilePermission "/usr/share/tomcat7/webapps/*", "read";

我们还使用相同的库在同一个 Tomcat 上部署了单独的 WAR,它们运行良好。

【问题讨论】:

标签: java tomcat7 war


【解决方案1】:

例外是

"/var/lib/tomcat7/webapps/**/WEB-INF/lib/table-service-1.37.jar"

但您的许可是为了

permission java.io.FilePermission "/usr/share/tomcat7/webapps/*", "read";

【讨论】:

猜你喜欢
  • 2012-02-04
  • 2015-05-19
  • 2014-02-04
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
  • 1970-01-01
相关资源
最近更新 更多