我正在构建一个maven战争,我打算保持上下文根目录,无论war文件名是什么(跨快照/发布) . 在那个任务中,我做了以下事情 .

  • 我在conf \ Catalina \ localhost中创建了一个文件(与所需的上下文根名称匹配)helloApp.xml

<Context 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

<Context 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,以便我可以修改它,因为我的战争名称更改?

附:我不希望在战争中使用finalName,因为我希望构建能够反映发布 . 另外我明白我可以使用maven tomcat插件 .