2016-06-05 11 views
0

Ich habe versucht, dieses Problem für einen guten Teil einer Stunde jetzt zu beheben, und ich habe nirgendwo hingekommen.Warum bekomme ich diesen Maven Fehler?

Wenn ich versuche, mein Projekt mit Maven zu kompilieren, bekomme ich diesen Fehler:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single (default-cli) on project GankALane: Unable to parse configuration of mojo org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single for parameter archive: Cannot find setter, adder nor field in org.apache.maven.archiver.MavenArchiveConfiguration for 'descriptorRefs'

ich mit dem Befehl bin Kompilieren: mvn clean compile assembly:single

und hier ist meine pom.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<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>com.poncethecat</groupId> 
    <artifactId>GankALane</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <repositories> 
     <repository> 
      <id>beam-releases</id> 
      <url>https://maven.beam.pro/content/repositories/releases/</url> 
     </repository> 
     <repository> 
      <id>beam-snapshots</id> 
      <url>https://maven.beam.pro/content/repositories/snapshots/</url> 
     </repository> 

    </repositories> 

    <dependencies> 
     <dependency> 
      <groupId>pro.beam</groupId> 
      <artifactId>api</artifactId> 
      <version>1.10.5-SNAPSHOT</version> 
     </dependency> 
     <dependency> 
      <groupId>pro.beam</groupId> 
      <artifactId>interactive</artifactId> 
      <version>1.5.0-SNAPSHOT</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <configuration> 
        <archive> 
         <manifest> 
          <mainClass>com.poncethecat.GankALane.Main</mainClass> 
         </manifest> 
         <descriptorRefs> 
          <descriptorRef>jar-with-dependencies</descriptorRef> 
         </descriptorRefs> 
        </archive> 
       </configuration> 
       <executions> 
        <execution> 
         <id>make-assembly</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

Danke fürs schauen, und hoffentlich kann ich eine Lösung finden!

+0

Obwohl noch im [v3.3.9 Super POM] (https://maven.apache.org/ref/3.3.9/maven-model-builder/super-pom.html) das [maven-assembly-plugin : 2.2-beta-5] (http://search.maven.org/#search|gav|1|g%3A%22org.apache.maven.plugins%22%20AND%20a%3A%22maven-assembly-plugin % 22) ist älter als 6 Jahre. Ich weiß nicht, ob das dein Problem löst, aber ich würde das neueste [v2.6] (http://search.maven.org/#search|ga|1|maven-assembly-plugin) verwenden. –

+0

Ich habe es gerade versucht, kein Unterschied – poncethecat

+1

Sie haben das 'single' Ziel des' maven-assembly-plugins' an die 'package' Phase gebunden. Warum führst du 'mvn clean kompilieren assembly: single' anstelle von ['mvn clean package'] (https://maven.apache.org/plugins/maven-assembly-plugin/usage.html#Execution:_Building_an_Assembly) aus? –

Antwort

0

Ihr POM ist falsch:

parameter archive: Cannot find setter, adder nor field ... for 'descriptorRefs'

Siehe Apache Maven Assembly Plugin > Usage:

<configuration> 
    <descriptorRefs> 
     <descriptorRef>jar-with-dependencies</descriptorRef> 
    </descriptorRefs> 
</configuration> 

die auch Links zu Apache Maven Archiver am Anfang:

<configuration> 
    <archive> 
     ... 
     <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
    </archive> 
</configuration> 

Die Nachricht den Hinweis gibt keine <archive>/<descriptorRefs> Dort.

Verwandte Themen