2012-05-24 180 views
1

這是什麼意思,它是如何被刪除(重新格式化以獲得更好的可讀性)?「支持的源版本」RELEASE_5「來自注釋處理器...」是什麼意思?

[INFO] Compiling 30 source files to ...\target\test-classes 
[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] Failure executing javac, but could not parse the error: 
warning: Supported source version 'RELEASE_5' from annotation processor 
'org.sonatype.guice.bean.scanners.index.QualifiedIndexAPT6' 
less than -source '1.6' 
warning: No processor claimed any of these annotations: 
org.junit.Ignore,org.junit.Test,org.junit.BeforeClass 

發生這種情況時org.sonatype.sisu:sisu-inject-plexus:2.1.1是項目依賴項之一。

回答

3

中的sisu-inject-plexus升級後,取出第一個警告達:

<dependency> 
    <groupId>org.sonatype.sisu</groupId> 
    <artifactId>sisu-inject-plexus</artifactId> 
    <version>2.3.0</version> 
</dependency> 

第二個使用javac編譯-Xlint:-processing後旗:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>default-testCompile</id> 
     <configuration> 
     <compilerArgument>-Xlint:-processing</compilerArgument> 
     </configuration> 
    </execution> 
    <execution> 
</plugin> 

否則,我們就可以使用

<compilerArgument>-proc:none</compilerArgument> 
1

這裏有兩個不相關的警告。首先,有一個類聲明它想要查看註釋,但它只理解Java 5語法,並且已經在命令行中指定了Java 6語法;第二,你有一些JUnit註釋,但沒有看到它們。

它們聽起來相當安全,但不幸的是無論試圖在此處運行javac(是否apt?)都無法理解輸出。

+0

厄內斯特,請你解釋一下「什麼都沒有正在看他們「的意思? – yegor256

+0

這個輸出來自'apt',我想象的是Annotation Processing Tool,它的目的是在你的代碼中找到所有的註釋,並使它們可用於插件「註釋處理器」。該工具只是警告您,註冊處理器沒有註冊一些註釋。這完全不是一件壞事 - 如果你目前沒有運行JUnit,那麼沒有人應該關心那些JUnit註釋。 –

+1

明白了,但是這條消息是由'javac'發送的(由Apache Maven 3.0.3 maven-compiler-plugin 2.4運行)。你知道該怎麼做才能刪除警告。忽略它不是我的選擇。 – yegor256

相關問題