【发布时间】:2010-07-06 10:16:03
【问题描述】:
我已经构建了用于 Tomcat 的 Web 应用程序。这取决于春天。尝试访问时出现以下异常:
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;
};
但这没有帮助。要补充的是,我通过粘贴以下commands 来安装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
春季版 = 3.0.1.RELEASE
堆栈跟踪太大,无法在此处发布,所以请关注link 来查看。
有人可以帮我吗?补充一点,它在我的 Apache Geronimo 上毫无例外地执行。
【问题讨论】:
-
我不使用Linux,但我从来没有修改Tomcat权限来部署Spring。你到底在做什么需要这个?在 Windows 上,Spring 部署不需要这样的东西。
-
我有几个基于 Spring 的 webapps 在 Linux 上的 Tomcat 中运行。无需进行这种性质的配置更改。
-
您使用的是哪个发行版?
-
请显示完整的堆栈跟踪。
标签: java spring tomcat classloader securitymanager