Tomcat Отказва достъп до файла с ресурси в директорията на експлодирана война

Имаме приложение WAR, внедрено на Tomcat 7.0.65. Това приложение използва библиотека, която има куп файлове polygon.txt в своята директория с ресурси. Всеки път, когато библиотеката бъде извикана, тя хвърля изключение за разрешение за файл на 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";

Имаме и отделни WAR, разположени на същия Tomcat, използвайки същата библиотека, които работят добре.


person ValSmith    schedule 25.08.2017    source източник
comment
Какво ще кажете да посочите read,wite acess и двете? tomcat.apache.org/tomcat-7.0-doc/   -  person Naman    schedule 26.08.2017


Отговори (1)


Изключението е за

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

но вашето разрешение е за

permission java.io.FilePermission "/usr/share/tomcat7/webapps/*", "read";
person mikep    schedule 25.08.2017
comment
Трябваше да включа, има връзка от /usr/share/tomcat7/webapps -› /var/lib/tomcat7/webapps - person ValSmith; 28.08.2017
comment
Може да се нуждаете от readLink FilePermission, след което docs.oracle.com /javase/7/docs/api/java/io/FilePermission.html - person mikep; 28.08.2017