Spring应用程序的Tomcat配置
问题描述:
我已经构建了在Tomcat中使用的Web应用程序。这取决于春天。我尝试访问它时出现以下异常:Spring应用程序的Tomcat配置
java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)
我读了tomcat文档,发现我需要配置安全性。我添加以下行
“/usr/share/tomcat/conf/catalina.policy”:
grant codeBase "file:${catalina.home}/webapps/MyProject/-" {
permission java.lang.RuntimePermission;
};
但它并没有帮助。要添加,我安装了Tomcat通过粘贴以下commands:
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版本= 3.0.1.RELEASE
堆栈跟踪太大它张贴在这里,所以请按照link来查看。
任何人都可以帮助我吗?要添加,它在我的Apache Geronimo上无例外地执行。
答
我不会使用这些符号链接。相反,我将部署在$ 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。
这段时间对我来说很合适。
问候。
我不使用Linux,但我从来不必修改Tomcat部署Spring的权限。你究竟做什么需要这个?在Windows上,Spring部署没有必要这样做。 – duffymo 2010-07-06 10:20:03
我有几个基于Spring的webapps在Linux上的Tomcat上运行。不需要改变这种性质的配置。 – Kris 2010-07-06 10:45:41
您使用哪种分布? – 2010-07-06 10:47:30