2011-06-11 72 views
3

這是最煩人的錯誤之一?我可以理解的是,我正在使用較低版本的Java進行編譯。我如何爲maven指定java版本?Maven錯誤「註釋不支持.....」

未能執行目標 org.apache.maven.plugins:Maven的編譯器插件:2.0.2:編譯 (默認編譯)項目 springAopMavenDemo:編譯 故障d:\ JAVA 東西\項目\ springAopMavenDemo \ SRC \主\ java中\服務\ EmployeeServiceImpl.java:[13,1] 註釋不 支持-source 1.3(使用-source 5或更高,以使註釋)@Service - > [幫助1]

要查看 錯誤的完整堆棧跟蹤,請重新輸入un Maven與-e 開關。使用-X 開關重新運行Maven以啓用完整的調試日誌記錄。

有關錯誤 和可能的解決方案的更多信息,請閱讀 下面的文章:[說明1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

我真的很感激任何幫助......我使用NetBeans 7.0和Maven 3

回答

6

你需要告訴行家的Java版本的源應被編譯成

<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
    </configuration> 
    </plugin> 
</plugins> 

http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

+0

這是真的也確保Maven的設置就可以了,但我的它仍然這樣做 – 2011-06-11 12:11:21

+0

感謝和地方的IntelliJ中,它解決了我的問題....... – aProgrammer 2011-06-11 13:05:37

+0

我不明白爲什麼不是1.5默認..我們都必須得到這個錯誤.. – 2011-06-11 19:03:13

1

您正在使用您的Java註釋的一些代碼,但在你的IDE編譯使用的Java 1.3傳遞一個額外的命令行參數,最有可能的 我有同樣的事情在的IntelliJ而回

在NetBeans配置(對不起,我不是一個NetBeans人)找到在哪裏JDK /編譯器設置是,改變命令行參數

更新:快網檢索算法說,這可能是在屬性>生成>編譯

1

emeraldjava答案是正確的。不過,我想補充兩點:

首先,你可以設置源和目標信息作爲Maven的屬性:

<build> 
    ... 
    <maven.compiler.source>1.5</maven.compiler.source> 
    <maven.compiler.target>1.5</maven.compiler.target> 

第二,如果你使用最新版本的Maven的編譯器插件(2.3。 2爲例),編譯器默認版本是1.5,所以你不需要任何額外的配置:

Compiler插件用來編譯 該項目的來源。 默認編譯器是javac,並且使用 來編譯Java源代碼。另請注意, 目前默認源 設置爲1.5,默認目標 設置爲1.5,與運行Maven的 JDK無關。

source