Имаме приложение 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, използвайки същата библиотека, които работят добре.