2015-11-07 4 views
1

Я использую груз для автоматизации развертывания войны на Tomcat. Тем не менее, у меня есть проблема: я не могу заменить файлы tomcat по умолчанию своим обычаем, так как мои файлы сначала копируются, а затем по умолчанию перезаписываются. Я потратил несколько часов на решение этой проблемы, но ничего не работает. Вот мой pom.xmlCargo embedded tomcat: custom context.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> 
+0

Я вижу, что у меня нет тега , но я сделал это, поэтому dont expext, чтобы найти mis возьмите здесь. Основная проблема заключается в том, что встроенный tomcat копируется позже, затем мои пользовательские файлы и переопределяет их. – quento

ответ

1

Один из раствора здесь: Is it possible to supply Tomcat6's context.xml file via the Maven Cargo plugin?

Моя рабочая конфигурация (с JDBC DataSource бассейна) выглядит следующим образом:

 <plugin> 
      <groupId>org.codehaus.cargo</groupId> 
      <artifactId>cargo-maven2-plugin</artifactId> 
      <version>1.5.0</version> 
      <configuration> 
       <container> 
        <containerId>tomcat8x</containerId> 
        <systemProperties> 
         <file.encoding>UTF-8</file.encoding> 
         <spring.profiles.active>tomcat,datajpa</spring.profiles.active> 
        </systemProperties> 
        <dependencies> 
         <dependency> 
          <groupId>org.postgresql</groupId> 
          <artifactId>postgresql</artifactId> 
         </dependency> 
        </dependencies> 
       </container> 
       <configuration> 
        <configfiles> 
         <configfile> 
          <file>src/main/resources/tomcat/context.xml</file> 
          <todir>conf/Catalina/localhost/</todir> 
          <tofile>context.xml.default</tofile> 
         </configfile> 
        </configfiles> 
       </configuration> 
       <deployables> 
        <deployable> 
         <groupId>ru.javawebinar</groupId> 
         <artifactId>topjava</artifactId> 
         <type>war</type> 
         <properties> 
          <context>${project.build.finalName}</context> 
         </properties> 
        </deployable> 
       </deployables> 
      </configuration> 
     </plugin> 
Смежные вопросы