2013-08-01 14 views
5

Seguo thisprimo contratto con CXF tutorial e mentre la risultante pom.xml genera fonti e anche completa l'costruire con successo, non riesce a creare un file WAR.Perché un plug-in Maven-War genera un JAR invece di un WAR?

Invece, crea un file JAR.

la mia comprensione è che la parte in pom.xml che è responsabile della creazione della guerra è:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.1.1</version> 
    <configuration> 
    <outputDirectory>D:/path/to/profile/autodeploy</outputDirectory> 
    </configuration> 
</plugin> 

non vedo alcun elemento <goal> o <execution> lì (a differenza del build-helper-maven-plugin uno), ma ho anche capire che con questo plugin questo è implicito in quanto anche il official usage page dimostra:

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    ... 
</project> 

Allora ... cosa mi manca?

Che cosa potrebbe spiegare un maven-war-plugin che si comporta in modo inaspettato come questo e produce un JAR invece di un WAR di default?

C'è un modo per costringerlo a produrre una GUERRA?

+5

dovrebbe esserci una " guerra' da qualche parte nel POM? – Thilo

risposta

13

imballaggio deve essere come di seguito.

<packaging>war</packaging> 

se non aiuta, provare a collegare la configurazione del plug-in con una fase del ciclo di vita.

4

nella definizione del progetto, si prega di verificare se la confezione è mancante o no, dovrebbe essere qualcosa di simile.

<groupId>some.groupid</groupId> 
    <artifactId>My Web Application</artifactId> 
    <version>0.0.1</version> 
    <packaging>war</packaging> 
    <description>My First Web Application</description> 

Con plug guerra Maven di default si lega al package phase of the lifecycle, così la sua importante che dobbiamo menzionare il tipo di imballaggio che vogliamo una volta che la costruzione è fatto.

Vorrei suggerire di dare un'occhiata allo Maven specs for war plugin.