![](/img/trans.png)
[英]How can I specify “Context path” on Tomcat 8 inside META-INF/context.xml in java war file?
[英]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.