繁体   English   中英

您可以在网络应用之外使用WEB-INF吗?

[英]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.

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