2016-10-04 2 views
0

Я использую Maven для создания WAR моего приложения JEE.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 (/ вар/WWW/MyProject/WebAPP), но тогда я хочу, чтобы распаковать его перед запустить свой сервер (Кот).

Как я могу это сделать?

Спасибо, Lorenzo

+0

почему вы хотите распаковать, что? Tomcat может обрабатывать файлы .war –

+0

Потому что я «жесткий» этап разработки, и я хочу проверить, что война содержит все необходимые файлы. – JBerta93

+0

Ваш ' $ {basedir}/src' и ' WebContent' является гарантией для многих болей и головных болей = /. Почему бы не использовать конвенцию Мейвена? – Tunaki

ответ

1

Если вы хотите распаковать войну вы можете использовать Maven сборки плагин для этого. , например.

 <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> 

Вы можете прочитать на https://maven.apache.org/plugins/maven-dependency-plugin/examples/unpacking-artifacts.html для более подробной информации

Смежные вопросы