展开战争。 Tomcat不考虑从META-INF中获取context.xml

问题描述 投票:0回答:1

我确实有一个Spring Boot应用程序,该应用程序为Tomcat使用了定制的context.xml。context.xml包含定义弹簧活动配置文件的属性

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

文件位置是/ src / main / webapps / META-INF我期望将文件部署到tomcat之后,tomcat将自动选择上下文xml,并将其扔到conf / catalina / localhost /

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

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

copyXML如果您希望在部署应用程序时将嵌入在应用程序内部的上下文XML描述符(位于/META-INF/context.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必须采取什么操作?

java spring-boot tomcat deployment tomcat9
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.