2010-06-25 14 views
13

Tengo el proyecto de que ahora estoy comenzando como proyecto de Maven, pero por alguna razón no está funcionando. Aquí está mi pom.xml:¿Cómo puedo construir WAR con Maven en Eclipse?

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>ProgramName</groupId> 
    <artifactId>ProgramName</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>org.springframework.core</artifactId> 
      <version>3.0.2.RELEASE</version> 
     </dependency> 

     <!-- all other dependecies here --> 

    </dependencies> 
    <build> 
     <finalName>ProgramName</finalName> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.0.2</version> 
       <configuration> 
        <webResources> 
         <resource> 
          <targetPath>WEB-INF</targetPath> 
          <directory>src/main/webapp/WEB-INF</directory> 
          <filtering>true</filtering> 
          <includes> 
           <include>*.xml</include> 
          </includes> 
         </resource> 
        </webResources> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-release-plugin</artifactId> 
       <version>2.0</version> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
+0

¿Qué es exactamente no está funcionando, ¿tiene un mensaje de error o algo? –

+0

¿cómo puedo construir la guerra? Quiero decir que necesito el archivo de guerra – newbie

Respuesta

16

En realidad, el POM se ve un poco raro:

  • que no se encuentra el derecho packaging para un proyecto de aplicación web.
  • la configuración del complemento maven war no se ve bien, simplemente no necesita las cosas adicionales que ha agregado.

Esto es lo que un pom mínima será similar a:

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mycompany.app</groupId> 
    <artifactId>my-webapp</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
    <build> 
    <finalName>my-webapp</finalName> 
    </build> 
</project> 

Así que, o modificarlo y actualizar la configuración del proyecto (haga clic con en su proyecto, entonces Maven> Configuración de la actualización del Proyecto).

O simplemente comienza de nuevo y crea tu proyecto usando el maven-archetype-webapp. Puede hacerlo desde Eclipse: Nuevo> Proyecto ...> Proyecto Maven, luego seleccione maven-archetype-webapp en el wizzard y siga los seps.

o desde la línea de comandos:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp 
+0

el elemento finalName no es obligatorio, es impedimento para ser - . Salandur

+0

Gracias, eliminé todo de la compilación y ahora parece funcionar. – newbie

+0

@newbie: De nada. Sin embargo, tenga en cuenta que necesitará la configuración del compilador maven para Java 6. –

0

que sugieren el uso m2eclipse. Es una operación de un clic que utiliza el plugin de Eclipse.

+0

ya está instalado – newbie

+0

m2eclipse no integra maven con WTP. Para el de integración necesita usar http://www.eclipse.org/m2e-wtp/ – mariolpantunes

4

por ejemplo, veo

<packaging>war</packaging> 

que falta en su pom, usted debe echar un vistazo a cómo se utiliza el maven-war-plugin.

Cuestiones relacionadas