Я выполняю чистую установку Сервер Ubuntu 9.10 с Tomcat 6, установленным из установки Ubuntu. Когда я загружаю веб-приложение через Tomcat Manager, и оно запускается автоматически при загрузке с /etc/init.d/tomcat6 start
мои библиотеки библиотек в моих веб-приложениях WebContent/WEB-INF/lib
выбросить исключение.
Я использую Проект РИМ для моего RSS-канала, который отлично работает на моем локальном сервере tomcat, который я тестирую через Eclipse. Однако, когда я запускаю его на Ubuntu Tomcat, я получаю исключение ServletException:
javax.servlet.ServletException: Could not initialize class com.sun.syndication.feed.synd.SyndFeedImpl
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:294)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
Я предполагаю, что мне нужно изменить один из файлов в /etc/tomcat6/policy.d/, который создает файл /var/cache/tomcat6/catalina.policy. Но я не знаю, что менять. Помогите, пожалуйста!
Хорошо, у меня есть кое-что, что работает.
Я отредактировал /etc/tomcat6/policy.d/01system.policy и добавил внизу:
// Grant WebApps All Permission
grant codeBase "file:/var/lib/tomcat6/webapps/-" {
permission java.security.AllPermission;
};
Сейчас это работает, но не уверен, что это правильно.
Вы можете полностью отключить диспетчер безопасности для Tomcat.
редактировать /etc/default/tomcat6
и установить TOMCAT6_SECURITY
к нет.
TOMCAT6_SECURITY=no
(Убедитесь, что строка не прокомментирована)
Однако убедитесь, что вы понимаете последствия этого.