2011-01-14 5 views
4

Я пытаюсь развернуть приложение на Tomcat 5.5 на Debian Lenny. Я получаю следующее исключение:java.security.AccessControlException: access denied (java.io.FilePermission /usr/share/java/jsp-api-2.0.jar read)

java.security.AccessControlException: access denied (java.io.FilePermission /usr/share/java/jsp-api-2.0.jar read) 

Я не уверен, что делать.

Решение

Добавьте следующую строку в /etc/tomcat5.5/policy.d/04webapps.policy:

grant codeBase "file:/var/lib/tomcat5.5/webapps/mywebapp/-" { permission java.security.AllPermission; }; 
+0

Tomcat 5.5 довольно старая. Вам действительно нужна эта старая версия? Может быть, ваша проблема исчезнет, ​​если вы используете более новую версию. –

+0

Он поставляется с Debian Lenny, и я не хочу устанавливать свою собственную версию. Я делаю это на локальном сервере только для целей тестирования, надеюсь, что более новая версия Tomcat будет доступна в производственной среде. –

ответ

5

Я пахнет SecurityManager.

Это сообщение от Java Security-Manager, а не из файловой системы. Класс внутри этого jar-архива пытается получить доступ к файлу, который не разрешен политикой.

Взгляните на эту очень похожей проблемой: http://www.mkyong.com/tomcat/tomcat-javasecurityaccesscontrolexception-access-denied-loggingproperties-read/

Решение IST возможность чтения файлов в catalina.policy

3

попробуйте запустить как корень chmod +r /usr/share/java/jsp-api-2.0.jar

+0

Нет, это уже можно прочитать. Я думаю, что это проблема Tomcat. –

+1

Это сообщение от Java Security-Manager, а не файловой системы. Класс внутри этого пути пытается получить доступ к файлу, который не разрешен политикой. –