【发布时间】:2016-02-08 19:27:13
【问题描述】:
我正在使用 cargo 在 Tomcat 上自动部署战争。但是,我遇到了麻烦:我无法用我的自定义替换默认的 tomcat 文件,因为我的文件首先被复制,然后被默认覆盖。我花了几个小时来解决这个问题,但没有任何效果。这是我的 pom.xml
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>replace-tomcat-users-xml</id>
<phase>process-test-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/apache-tomcat-${version.tomcat}/conf/</outputDirectory>
<resources>
<resource>
<directory>src/test/resources/</directory>
<includes>
<include>context.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>replace-tomcat-users-xml-cargo</id>
<phase>process-test-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/cargo/installs/tomcat-${version.tomcat}/apache-tomcat-${version.tomcat}</outputDirectory>
<resources>
<resource>
<directory>src/test/resources/</directory>
<includes>
<include>context.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
这里是货物使用:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.11</version>
<configuration>
<skip>false</skip>
<container>
<containerId>tomcat7x</containerId>
<log>${project.build.directory}/cargo.log</log>
<artifactInstaller>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat</artifactId>
<version>${version.tomcat}</version>
<type>zip</type>
</artifactInstaller>
<systemProperties>
<tomcat.home.dir>
${basedir}/target/cargo/installs/apache-tomcat-${version.tomcat}/apache-tomcat-${version.tomcat}
</tomcat.home.dir>
<tomcat.server.home.dir>
${basedir}/target/cargo/installs/apache-tomcat-${version.tomcat}/apache-tomcat-${version.tomcat}
</tomcat.server.home.dir>
</systemProperties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
</container>
<configuration>
<configfile>
<file>${basedir}/target/cargo/installs/context.xml</file>
<todir>conf/</todir>
<tofile>context.xml</tofile>
<configfile>true</configfile>
<overwrite>true</overwrite>
</configfile>
<properties>
<cargo.servlet.port>8080</cargo.servlet.port>
<!--Тут менять-->
<cargo.servlet.users>admin:admin:manager-script</cargo.servlet.users>
<cargo.jvmargs>
-Xmx1024m -XX:MaxPermSize=512m
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
-Xnoagent
-Djava.compiler=NONE
</cargo.jvmargs></properties>
</configuration>
【问题讨论】:
-
我看到这里没有标签
但我这样做了,所以不要在这里寻找错误。主要问题是嵌入的 tomcat 稍后被复制,然后是我的自定义文件并覆盖它们。