2012-03-21 9 views
6

Soy un principiante con Maven. He estado siguiendo el libro Maven By Example. En la sección 6.13 El autor demuestra haciendo un JAR con las dependencias incluido a través del comandoMaven: Fabricación de tarros con dependencias: el ejemplo del libro no funciona

mvn install assembly assembly 

I siguió el ejemplo en el capítulo 6, excepto Me salté las partes con la unidad de pruebas. Volví a revisarlos para asegurarme de no darme un paso. Sin embargo, cuando probé el comando anterior Tengo esta salida de error:

[INFO] 
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ simple-weather --- 
[INFO] 
[INFO] <<< maven-assembly-plugin:2.2-beta-5:assembly (default-cli) @ simple-weather <<< 
[INFO] 
[INFO] --- maven-assembly-plugin:2.2-beta-5:assembly (default-cli) @ simple-weather --- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.094s 
[INFO] Finished at: Wed Mar 21 15:53:03 EDT 2012 
[INFO] Final Memory: 5M/10M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:assembly (default-cli) on project simple-weather: Error readi 
ng assemblies: No assembly descriptors found. -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 
C:\home\Projects\simple-weather> 

El problema es con el descriptor de jar-con-dependencias en la sección de plugins. Busqué en Google un poco, pero no encontré una manera diferente de hacerlo desde el libro. Entonces, me interesaría saber dónde me estoy equivocando.

Aquí es mi pom.xml:

<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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>org.sonatype.mavenbook.custom</groupId> 
    <artifactId>simple-weather</artifactId> 
    <version>1.0</version> 
    <packaging>jar</packaging> 

    <name>simple-weather</name> 
    <url>http://www.sonatype.com</url> 


    <licenses> 
     <license> 
      <name>Apache 2</name> 
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> 
      <distribution>repo</distribution> 
      <comments>A business-friendly OSS license</comments> 
     </license> 
    </licenses> 

    <organization> 
     <name>Sonatype</name> 
     <url>http://www.sonatype.com</url> 
    </organization> 

    <developers> 
     <developer> 
      <id>jason</id> 
      <name>Jason Van Zyl</name> 
      <email>[email protected]</email> 
      <url>http://www.sonatype.com</url> 
      <organization>Sonatype</organization> 
      <organizationUrl>http://www.sonatype.com</organizationUrl> 
      <roles> 
       <role>developer</role> 
      </roles> 
      <timezone>-6</timezone> 
     </developer> 
    </developers> 


    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.14</version> 
     </dependency> 
     <dependency> 
      <groupId>dom4j</groupId> 
      <artifactId>dom4j</artifactId> 
      <version>1.6.1</version> 
     </dependency> 
     <dependency> 
      <groupId>jaxen</groupId> 
      <artifactId>jaxen</artifactId> 
      <version>1.1.1</version> 
     </dependency> 
     <dependency> 
      <groupId>velocity</groupId> 
      <artifactId>velocity</artifactId> 
      <version>1.5</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.5</source> 
        <target>1.5</target> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 






</project> 

Gracias de antemano por cualquier pista.

+0

'mvn install assembly: assembly' - check again –

Respuesta

9

El problema es que tiene su descriptor refs configurado para el complemento de compilación en lugar del plugin de ensamblaje.

Agregar a su sección/build/plugins

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
    <descriptorRefs> 
     <descriptorRef>jar-with-dependencies</descriptorRef> 
    </descriptorRefs> 
    </configuration> 
</plugin> 

y retire el siguiente de su compilador de configuración de plug-in, ya que no está haciendo nada.

<descriptorRefs> 
    <descriptorRef>jar-with-dependencies</descriptorRef> 
</descriptorRefs> 
+0

Eso funcionó. Muchas gracias por la ayuda. – Steve

Cuestiones relacionadas