Конфигурация Tomcat для приложения Spring - PullRequest
2 голосов
/ 06 июля 2010

Я создал веб-приложение для использования в Tomcat. Это зависит от весны. У меня есть следующее исключение при попытке доступа к нему:

java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)

Я прочитал tomcat docs и обнаружил, что мне нужно настроить безопасность. Я добавил следующие строки в
«/usr/share/tomcat/conf/catalina.policy":

grant codeBase "file:${catalina.home}/webapps/MyProject/-" {
    permission java.lang.RuntimePermission;
};

Но это не помогло. Чтобы добавить, я установил Tomcat, вставив следующие команды :

sudo apt-get install tomcat6
cd /usr/share/tomcat6
sudo ln -s /var/lib/tomcat6/conf conf
sudo ln -s /etc/tomcat6/policy.d/03catalina.policy conf/catalina.policy
sudo ln -s /var/log/tomcat6 log
sudo chmod -R 777 /usr/share/tomcat6/conf

Я перезапустил сервер. Проект существует в указанном месте.

Что я делаю не так?

Мне бы очень хотелось изменить как можно меньше вещей на сервере, не копируя дополнительные файлы jar в папку lib сервера.


Мой

Tomcat версия = Apache Tomcat / 6.0.20

Spring version = 3.0.1.RELEASE


Трассировка стека слишком велика, чтобы разместить ее здесь, поэтому, пожалуйста, перейдите по ссылке , чтобы увидеть ее.


Кто-нибудь может мне помочь? Чтобы добавить, он выполняется без исключений на моем Apache Geronimo.

1 Ответ

0 голосов
/ 10 июля 2010

Я бы не использовал эти символические ссылки. Вместо этого я бы развернул в $ CATALINA_BASE / webapps (проверьте /etc/init.d/tomcat6). Затем в файле политики (/etc/tomcat6/policy.d/03catalina.policy):

grant codeBase "file:${catalina.base}/webapps/MyProject/WEB-INF/lib/-" {
    permission java.lang.RuntimePermission "createClassLoader";
};

Другим вариантом может быть редактирование /etc/tomcat6/policy.d/04webapps.policy.

Это сработало для меня некоторое время назад.

С уважением.

...