2016-07-05 34 views
0

我正在尝试将CAS服务器与Spring应用程序集成。 (我在本地配置了CAS,在我的Tomcat服务器上,它工作正常)。使用Maven Resources Plugin,我将cas.war文件复制到我的Web应用程序的目标文件夹中。但我需要解压那个cas.war文件才能覆盖一些我修改过的文件。如何使用Maven Resources Plugin解压从本地目录复制的war文件?

如何解开我使用Maven Resources Plugin`复制的这个war文件?

这里是我的pom.xml

<plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.6</version> 
      <configuration> 
       <warName>cas</warName> 
       <webResources> 
        <resource> 
         <directory>${basedir}/src/main/webapp/WEB-INF</directory> 
         <filtering>true</filtering> 
         <targetPath>WEB-INF</targetPath> 
         <includes> 
          <include>**/web.xml</include> 
         </includes> 
        </resource> 
       </webResources> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>${maven-jetty-plugin.version}</version> 
      <configuration> 
       <webApp> 
        <contextPath>/cas</contextPath> 
       </webApp> 
      </configuration> 
     </plugin> 

     <!--Copy plugin--> 
     <plugin> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>3.0.1</version> 
      <executions> 

       <!--copy cas.war file--> 
       <execution> 
        <id>copy-initial-cas.war</id> 
        <phase>install</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <overwrite>true</overwrite> 
         <outputDirectory>${basedir}/target/cas</outputDirectory> 
         <resources> 
          <resource> 
           <directory>${CAS.LOCATION}/target</directory> 
           <includes> 
            <include>cas.war</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 


       <!--copying deployerConfigContext file--> 
       <execution> 
        <id>copy-deployerConfigContext</id> 
        <phase>install</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <overwrite>true</overwrite> 
         <outputDirectory>${basedir}/target/cas/WEB-INF</outputDirectory> 
         <resources> 
          <resource> 
           <directory>${basedir}/resources</directory> 
           <includes> 
            <include>deployerConfigContext.xml</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 


       <!--copying web.xml file--> 
       <execution> 
        <id>copy-web.xml</id> 
        <phase>install</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <overwrite>true</overwrite> 
         <outputDirectory>${basedir}/target/cas/WEB-INF</outputDirectory> 
         <resources> 
          <resource> 
           <directory>${basedir}/resources</directory> 
           <includes> 
            <include>web.xml</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 


       <!--copying casdatabase.properties file--> 
       <execution> 
        <id>copy-casdatabase.properties</id> 
        <phase>install</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${basedir}/target/cas/WEB-INF</outputDirectory> 
         <resources> 
          <resource> 
           <directory>${basedir}/resources</directory> 
           <includes> 
            <include>casdatabase.properties</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

     <!--unpacking plugin--> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.6</version> 
      <executions> 
       <execution> 
        <id>unzip-war</id> 
        <phase>install</phase> 
        <configuration> 
         <tasks> 
          <echo message="unpack cas.war" /> 
          <unzip src="${basedir}/target/cas/cas.war" dest="${basedir}/target/cas" overwrite="true"/> 
         </tasks> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
+0

可能不需要解压文件。看看http://tomcat.apache.org/maven-plugin-2.2/tomcat7-maven- plugin/redeploy-mojo.html – Kennet

+0

@Kennet谢谢,但这不是关于重新部署的问题。我需要通过获取本地安装的cas.war文件的副本并根据应用程序修改某些文件并重建它来获取CAS-ify应用程序。如果你可以看看我的pom.xml请。 – SMash

回答

0

如果你希望覆盖一战中的资源,你应该使用maven的覆盖方法。

+0

是的,我希望将我在tomcat中配置的原始cas.war文件复制到在IntelliJ IDEA中开发的webapp目标文件夹中。还需要解压缩并复制并替换解压后的战争中的一些资源文件。可以通过使用覆盖插件来完成吗? – SMash

相关问题