2016-07-23 95 views
7

描述目標失敗雖然開發一個Maven插件生成打印錯誤:Maven的插件,插件:在和文件的

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.3:descriptor (default-descriptor) on project default-method-demo: Execution default-descriptor of goal org.apache.maven.plugins:maven-plugin-plugin:3.3:descriptor failed: syntax error @[8,1] in file:/full/path/to/project/default-method/src/main/java/org/example/Iface.java -> [Help 1] 

即使該文件Iface.java是編譯。

Iface.java

package org.example; 

public interface Iface { 
    default String getString() { 
     return "string"; 
    } 
} 

pom.xml

<packaging>maven-plugin</packaging> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.3</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<dependencies> 
    <dependency> 
     <groupId>org.apache.maven</groupId> 
     <artifactId>maven-plugin-api</artifactId> 
     <version>3.0.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven.plugin-tools</groupId> 
     <artifactId>maven-plugin-annotations</artifactId> 
     <version>3.4</version> 
     <scope>provided</scope> 
    </dependency> 
</dependencies> 

是什麼原因導致這個問題?如何修復?

回答

13

問題是生成插件描述符的maven-plugin-plugin很難用默認方法解析Java 8接口。

可以固定在pom.xml明確說明更新插件版本:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-plugin-plugin</artifactId> 
      <version>3.4</version> 
     </plugin> 
     <!-- other plugins --> 
    </plugins> 
</build> 

或者只是通過移動自己的身體,以實現類避免默認的方法。

相關錯誤:MPLUGIN-272