[英]Can you have WEB-INF outside the webapp?
外部提供的war文件在WEB-INF目录中包含其配置。 我试图使Tomcat为Web应用程序提供备用的WEB-INF目录,因此我可以将配置置于版本控制下,而不必修改war文件。 战争文件的新版本将定期提供。
因此,我想做的是将WEB-INF内容复制到Tomcat之外,置于版本控制下,然后告诉Tomcat(目前为8,但我们可能会切换到7)以将该外部目录用作其WEB。 -INF。 这样,新部署将自动使用旧配置,并且不会丢失对配置的更改。
(我实际上正在计划将配置配置为一个单独的可部署/“ webapp”,并让jenkins进行处理,因此,任何人都不必直接访问服务器用户空间。但这与问题无关,我认为 )
我环顾了周围,我的最佳想法似乎集中在Tomcat提供的Context和Resources上,但是我不确定这是否确实可行。
$CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml
这些文件可以为特定应用提供外部配置,因此我认为这是开始的地方。 这是我的尝试:
<Context>
<Resources>
<PreResources className="org.apache.catalina.webresources.DirResourceSet"
base="/home/tomcat/webapps/config/conf" webAppMount="/WEB-INF" />
</Resources>
</Context>
我也尝试过在Webapp之外的另一个目录,但是它也不起作用。 有人知道为什么它不起作用吗? 这仅仅是白日梦,我是否会被迫更改war文件或维护者推荐的deploy-stop-“ patch in” config-start?
看来上述工作正常。 我只在基本路径中放一个字母,不要大写。
在其中一种情况下,当另一个人查看了我实际写的内容后,问题就解决了。
Mods; 您可以随意删除全部问题,也可以将其留作以后如何寻找相同问题的指导。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.