Maven 错误“不支持注释.....”
Posted
技术标签:
【中文标题】Maven 错误“不支持注释.....”【英文标题】:Maven Error " annotations are not supported....." 【发布时间】:2011-09-13 00:48:11 【问题描述】:这是最烦人的错误之一?我能理解的是我正在使用较低版本的Java进行编译。如何为 maven 指定 java 版本?
未能执行目标 org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (默认编译)项目 springAopMavenDemo:编译 失败 D:\JAVA Stuffs\projects\springAopMavenDemo\src\main\java\service\EmployeeServiceImpl.java:[13,1] 不支持注释 -source 1.3(使用 -source 5 或更高版本来启用注释)@Service -> [帮助 1]
查看完整的堆栈跟踪 错误,使用 -e 重新运行 Maven 转变。使用 -X 重新运行 Maven 切换以启用完整的调试日志记录。
有关错误的更多信息 和可能的解决方案,请阅读 以下文章:[帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
非常感谢任何帮助......我正在使用 NetBeans 7.0 和 Maven 3
【问题讨论】:
【参考方案1】:你需要告诉maven源码应该编译到哪个版本的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
【讨论】:
这是真的,还要确保 maven 设置很好,尽管我的位置和 intellij 仍然在这样做 我不明白为什么不是默认的 1.5 .. 我们都必须得到这个错误..【参考方案2】:您在 java 中使用了一些带注释的代码,但在您的 ide 中编译是通过传递一个额外的命令行参数最有可能使用源 java 1.3 不久前我在 intellij 也有同样的事情
在 netbeans 配置中(对不起,我不是 netbeans 人)找到 jdk/compiler setup 的位置并更改命令行 arg
更新:quick net serach 说它可能在 Properties > Build > Compiling 下
【讨论】:
【参考方案3】: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 Plugin 用于编译 你的项目的来源。这 默认编译器是 javac 并使用 编译 Java 源代码。另请注意 目前默认的来源 设置为 1.5 和默认目标 设置为 1.5,独立于 用于运行 Maven 的 JDK。
(source)
【讨论】:
以上是关于Maven 错误“不支持注释.....”的主要内容,如果未能解决你的问题,请参考以下文章
如何修复错误“更新 Maven 项目”。不支持的 IClasspathEntry kind=4?
在“更新 Maven 项目”期间发生内部错误。不支持的 IClasspathEntry kind=4
maven 出现错误 -source 1.5 中不支持 diamond 运算符