我想将外部目录作为资源映射到部署在tomcat 7上的应用程序
我已经通过这里的线程并尝试了几种方法:
我添加了_Events.groovy,它在我的开发机器(Windows 7)上工作得很好,但是当我在生产服务器上部署它时,它不会将外部文件夹映射到上下文根目录。
import org.apache.catalina.*
import org.apache.catalina.connector.*
import org.apache.catalina.loader.WebappLoader
eventConfigureTomcat = {tomcat ->
println "changing tomcat setting..."
String imageDir = '/usr/imgs';
if (System.properties['os.name']?.toLowerCase()?.contains('windows')) {
imageDir = 'c:/usr/imgs';
}
println "product image dir:"+imageDir;
def context = tomcat?.addWebapp('/imgs' , imageDir)
def loader = new WebappLoader(tomcat.class.classLoader)
loader.addRepository(new File(imageDir).toURI().toURL().toString())
loader.container = context
context.loader = loader
}
我的上下文根名称是rie,我尝试在Server.xml中添加以下上下文,即使这对我不起作用。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
.
.
.
<Context path="/rie" docBase="/usr/imgs" reloadable="true" crossContext="true" />
<Context path="" docBase="/usr/imgs" reloadable="true" crossContext="true" />
.
.
.
</Host>
尝试过alises以及tomcat 7提供的alises,它也没有用。
我正在尝试这个,因为从2天开始,提到所有的线程和教程,但它不起作用。,
我做错了吗?
答案 0 :(得分:1)
您对tomcat的此文件夹是否拥有正确的权限?
尝试登录系统su - tomcat
(或者您已启动tomcat的其他用户名)并访问/usr/imgs
。
然后通过chmod -R
递归更改该权限。