“注释处理器支持的源版本'RELEASE_5'......”是啥意思?
Posted
技术标签:
【中文标题】“注释处理器支持的源版本\'RELEASE_5\'......”是啥意思?【英文标题】:What does "Supported source version 'RELEASE_5' from annotation processor..." mean?“注释处理器支持的源版本'RELEASE_5'......”是什么意思? 【发布时间】:2012-05-31 02:28:34 【问题描述】:这是什么意思以及如何删除它(重新格式化以提高可读性)?
[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
是项目依赖项之一时会发生这种情况。
【问题讨论】:
【参考方案1】: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>
【讨论】:
【参考方案2】:这里有两个不相关的警告。首先,有一个类声称它想查看注解,但它只理解 Java 5 语法,并且您已经在命令行中指定了 Java 6 语法;其次,您在其中有一些 JUnit 注释,但没有看到它们。
它们听起来都可以忽略不计,但不幸的是,这里尝试运行 javac
的任何东西(是 apt
吗?)都无法理解输出。
【讨论】:
欧内斯特,你能解释一下“没有人在看他们”是什么意思吗? 这个输出来自apt
,我想,注解处理工具,其目的是找到代码中的所有注解,并使它们可用于插件“注解处理器” .该工具只是警告您存在一些未注册注释处理器的注释。这根本不是一件坏事——如果你现在没有运行 JUnit,那么就不需要关心那些 JUnit 注释。
知道了,但这条消息是由javac
发送的(由 Apache Maven 3.0.3 maven-compiler-plugin 2.4 运行)。你知道该怎么做才能消除警告。忽略它不是我的选择。以上是关于“注释处理器支持的源版本'RELEASE_5'......”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章