2012-03-21 19 views
6

Sono un principiante assoluto con Maven. Ho seguito il libro Maven By Example. Nella sezione 6.13 l'autore dimostra facendo un vaso con le dipendenze incluso tramite il comandoMaven: produrre barattoli con dipendenze: esempio da libro non funziona

mvn install assembly assembly 

ho seguito l'esempio nel capitolo 6, ad eccezione ho saltato le parti con unit testing. Sono tornato indietro per assicurarmi di non saltare un passaggio. Tuttavia quando ho provato il comando precedente ho ottenuto questo output errore:

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

Il problema è con il descrittore vaso-con-dipendenze nella sezione plugin. Ho cercato un po 'su google, ma non ho trovato un modo diverso di farlo dal libro. Quindi, sarei interessato a sapere dove sto andando male.

Ecco il mio 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> 

Grazie mille in anticipo per eventuali indizi.

+0

'mvn install assembly: assembly' - ricontrollare –

risposta

9

Il problema è che i propri riferimenti descrittori sono stati configurati per il plug-in di compilazione invece del plug-in di assemblaggio.

Aggiungi questo al vostro/build/sezione plugins

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

e rimuovere il seguito dal compilatore plug-config in quanto non sta facendo nulla.

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

Ha funzionato. Grazie mille per l'aiuto. – Steve