是否可以通过Maven Cargo插件提供Tomcat6的context.xml文件?

HDa*_*ave 7 tomcat cargo maven-cargo tomcat6 maven

如果可能的话,我想将Tomcat的context.xml文件保留在WAR文件的META-INF目录之外.这可以用Maven的货物插件完成吗?我似乎找不到正确的配置.

HDa*_*ave 13

找到了!经过多天研究这个问题,我终于找到了一个非常有效的解决方案.关键是获取Tomcat XML上下文片段文件并使用<configfiles>cargo元素将其放在conf/Catalina/localhost具有名称的目录中context.xml.default.唯一的缺点是,这将使您的上下文定义可用于所有Web应用程序,但这并不重要,只有Cargo使用此Tomcat实例,因此没有其他Web应用程序.

这是配置:

<configuration> <!-- Deployer configuration -->
    <type>standalone</type>
    <properties>
       <cargo.servlet.port>${tomcat6.port}</cargo.servlet.port>
    </properties>
    <deployables>
      <deployable>
        <groupId>com.myapp<groupId>
        <artifactId>myapp-war</artifactId>
        <type>war</type>
        <properties>
               <context>${tomcat6.context}</context>
        </properties>
       </deployable>
     </deployables>
    <configfiles>
       <configfile>
         <file>${basedir}/../config/tomcat-context.xml</file>
         <todir>conf/Catalina/localhost/</todir>
         <tofile>context.xml.default</tofile>
       </configfile>
    </configfiles>
</configuration>
Run Code Online (Sandbox Code Playgroud)

最终的结果是不再需要用于测试的伪模块,而且不再需要合并WAR.希望这有助于某人.