2016-10-04 26 views
0

我使用Maven創建JEE應用程序的WAR。Maven在目標文件夾中解壓戰爭

這裏我的pom.xml

<finalName>myproject</finalName> 
<sourceDirectory>${basedir}/src</sourceDirectory> 
<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.5</version> 
    <configuration> 
     <warSourceDirectory>WebContent</warSourceDirectory> 
     <failOnMissingWebXml>false</failOnMissingWebXml> 
     <outputDirectory>/var/www/myproject/webapp</outputDirectory> 
    </configuration>  
    </plugin> 

    <plugin> 
    <inherited>true</inherited> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.2</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
    </configuration> 
    </plugin> 
</plugins> 

生成的WAR被複制在pom.xml中(在/ var/WWW/myproject的/ Web應用程序)定義的輸出文件夾中,但後來我想解開它之前推出我的服務器(Tomcat)的。

我該怎麼辦?

感謝, 洛倫佐

+0

爲什麼你要解壓呢? Tomcat可以處理.war文件 –

+0

因爲我是「艱難的」開發階段,我想檢查戰爭是否包含所有需要的文件。 – JBerta93

+0

您的' $ {basedir}/src'和' WebContent'是許多痛苦和頭痛的保證= /。爲什麼不使用Maven的約定? – Tunaki

回答

1

如果你想解開的戰爭中,你可以使用maven的Assembly插件了點。 例如

 <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <version>2.10</version> 
     <executions> 
      <execution> 
      <id>unpack</id> 
      <phase>package</phase> 
      <goals> 
       <goal>unpack</goal> 
      </goals> 
      <configuration> 
       <artifactItems> 
       <artifactItem> 
        <groupId>your group id</groupId> 
        <artifactId>your artifact id</artifactId> 
        <version> your version</version> 
        <type>war</type> 
        <overWrite>false</overWrite> 
        <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory> 
        <destFileName>some name</destFileName> 
        <includes>**/*.class,**/*.xml</includes> 
        <excludes>**/*test.class</excludes> 
       </artifactItem> 


</artifactItems> 
      <includes>**/*.java</includes> 
      <excludes>**/*.properties</excludes> 
      <outputDirectory>your location</outputDirectory> 
      <overWriteReleases>false</overWriteReleases> 
      <overWriteSnapshots>true</overWriteSnapshots> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

您可以瞭解更多詳情

相關問題