繁体   English   中英

部署战争。 Tomcat 不考虑上下文。考虑到 META-INF 中的 xml

[英]Deploying War. Tomcat not taking context.xml from META-INF in consideration

我确实有一个 Spring 启动应用程序,它使用自定义上下文。xml 用于 tomcat。 context.xml 包含属性,定义 spring 活动配置文件

<Context>
    <Environment name="spring.profiles.active" value="profileName" type="java.lang.String" override="false" />
</Context>

文件位置是 /src/main/webapps/META-INF 我期望在文件部署到 tomcat 后,上下文 xml 将自动被 Z1B359D8753858B55BEFA044107

事实证明,战争已经部署,但 conf/catalina/localhost 仍然是空的。

阅读文档后,我发现 server.xml 必须使用 copyXML 参数作为主机容器进行更新。 文档说:

如果您希望在部署应用程序时将嵌入在应用程序(位于 /META-INF/context.xml)中的上下文 XML 描述符复制到 xmlBase,请设置为 true。 在随后的启动中,复制的上下文 XML 描述符将优先于嵌入在应用程序中的任何上下文 XML 描述符使用,即使嵌入在应用程序中的描述符是更新的。 该标志的值默认为 false。 请注意,如果 deployXML 为 false,则此属性将无效。

我的主机看起来像

<Host name="localhost"  appBase="webapps"
                  unpackWARs="true" autoDeploy="true" copyXML="true">
            </Host>

重新启动服务器并重新部署应用程序后,/conf/Catalina/localhost 仍然为空。

您有什么建议,为了使用自定义 context.xml,必须采取哪些措施?

我已经想通了。 我的构建脚本没有正确复制文件,文件名不是“context.xml”而是“appName.xml”,tomcat 没有把它捡起来。

暂无
暂无

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

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