简体   繁体   English

Spring应用程序的Tomcat配置

[英]Tomcat configuration for Spring app

I have built web application for use in Tomcat. 我已经构建了可在Tomcat中使用的Web应用程序。 It depends on Spring. 这取决于春天。 I have the following exception when trying to access it: 尝试访问它时,我遇到以下异常:

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

I read tomcat docs, and found that I need to configure security. 我阅读了tomcat文档,发现需要配置安全性。 I added following lines to 我添加了以下几行
"/usr/share/tomcat/conf/catalina.policy": “ /usr/share/tomcat/conf/catalina.policy”:

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

But it didn't help. 但这没有帮助。 To add, I installed Tomcat by pasting following 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

I have restarted server. 我已经重新启动服务器。 The project exist in specified location. 该项目存在于指定位置。

What am I doing wrong? 我究竟做错了什么?

I would really like to modify as few things on server as it is possible, without copying additional jars into servers lib folder. 我真的很想尽可能地修改服务器上的少量内容,而无需将其他jar复制到服务器lib文件夹中。


My 我的

Tomcat version = Apache Tomcat/6.0.20 Tomcat版本= Apache Tomcat / 6.0.20

Spring version = 3.0.1.RELEASE 春季版本= 3.0.1.RELEASE


The stack trace is too big to post it here, so please, follow link to see it. 堆栈跟踪太大,无法在此处发布,因此,请点击链接查看。


Can anybody help me? 有谁能够帮助我? To add, it is executed without exceptions on my Apache Geronimo. 要添加的是,它在我的Apache Geronimo上无例外地执行。

I wouldn't use those symbolic links. 我不会使用那些符号链接。 Instead I would deploy at $CATALINA_BASE/webapps (check out /etc/init.d/tomcat6). 相反,我将部署在$ CATALINA_BASE / webapps(请查看/etc/init.d/tomcat6)。 Then in the policy file (/etc/tomcat6/policy.d/03catalina.policy): 然后在策略文件(/etc/tomcat6/policy.d/03catalina.policy)中:

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

Another option can be editing /etc/tomcat6/policy.d/04webapps.policy. 另一个选项可以是编辑/etc/tomcat6/policy.d/04webapps.policy。

That worked for me some time ago. 前一段时间对我有用。

Regards. 问候。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM