我正在构建一个 Maven 战争,我打算保持上下文根相同,而不管战争文件名是什么(跨快照/版本)。在那个任务中,我做了以下事情。
- 我在 conf\Catalina\localhost 中创建了一个文件(与所需的上下文根名称匹配)helloApp.xml
< 上下文 docBase="C:\apache-tomcat-8.0.18\trial\helloApp-1.0-SNAPSHOT.war" />
- 我将WAR文件放在上面的文件夹中
我可以使用上下文根访问应用程序 -/helloApp
随着我的快照不断变化,我打算在我的战争中拥有上述 context.xml(helloApp.xml) 内容。所以
- 我在 src/main/resources/META-INF 中创建了一个带有内容的 context.xml
< 上下文 docBase="C:\apache-tomcat-8.0.18\trial\helloApp-1.0-SNAPSHOT.war" />
- 我将 copyXML="true" 添加到 server.xml
<主机名="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" copyXML="true">
但是 context.xml 的内容没有被复制到 conf\Catalina\localhost 中的现有 helloApp.xml 中。
有没有更好的方法来配置 docBase 以便我可以在我的战争名称更改时对其进行修改?
PS 我不希望在战争中使用 finalName,因为我希望构建反映发布。我也知道我可以使用 maven tomcat 插件。