resin网站根目录采用自动挂载后JSP自动编译报错

环境:

    有一台旧的resin server,是正常运行的,现在新增三台resin server,配置文件resin.xml从旧的resin server上面得来,为了方便版本上线,采用 mount 的方式把旧的resin server上面的网站根目录挂载到新的三台server


在三台新server上面执行以下

mount 192.168.xxx.xxx:/webroot  /webroot


问题:

搭建好resin之后在打包访问的时候报错如下:

 /webroot/WEB-INF/work/_jsp/_WEB_22dINF/_mmapp/_load_0msg_0box_0top_0advertise__jsp.java (Permission denied)


造成这个错误的原因在于:

由于是mount过来的,如果要往这个目录里面写东西,其实是往 旧的 resin server的这个目录里面写东西,但是当前主机的当前用户肯定是没有权限的


解决办法:

1,把work目录的权限给到777

2,也是最安全的办法,resin配置中有“work-dir”和“temp-dir”参数,可以设置这两个参数,让work和temp 目录指向本地server的可用目录即可


如果不设置work-dir的话,resin默认是在WEB-INF下建立一个work目录. 
如果不设置temp-dir的话,resin默认是在WEB-INF下建立一个tmp目录 
这些都是resin的默认行为,作为这个问题的解决办法就是在配置文件中添加work-dir和temp-dir参数设置就行了 

<host id="domain.name">  
     <host-alias>domain.name</host-alias>  
     <root-directory>domain.name/htdocs</root-directory>  
	<web-app id="/" root-directory="ROOT"/>  
		<work-dir>domain.name/work</work-dir>  
		<temp-dir>domain.name/temp</temp-dir>  
	</web-app>
</host>



本文出自 “ColinSpace” 博客,请务必保留此出处http://colinspace.blog.51cto.com/1043642/1555025

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。