Maven错误“不支持注释......”

时间:2011-06-11 12:02:09

标签: spring netbeans java-ee maven

这是最烦人的错误之一?我能理解的是我使用较低版本的Java进行编译。如何为maven指定java版本?

  

无法执行目标   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]

     

查看完整的堆栈跟踪   错误,用-e重新运行Maven   开关。使用-X重新运行Maven   切换到启用完整的调试日志记录。

     

有关错误的详细信息   和可能的解决方案,请阅读   以下文章:[帮助1]   http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

我非常感谢任何帮助......我正在使用NetBeans 7.0和Maven 3

3 个答案:

答案 0 :(得分:6)

你需要告诉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

答案 1 :(得分:1)

您在java中使用了一些带注释的代码,但是在您的ide中编译是通过传递额外的命令行参数来使用源java 1.3 我在intellij做了一回事

在netbeans配置中(抱歉,我不是netbeans人)查找jdk /编译器设置的位置并更改命令行arg

更新:快速网络搜索说它可能在属性&gt;构建&gt;编译

答案 2 :(得分: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,因此您不需要任何其他配置:

  

编译器插件用于编译   你的项目的来源。该   默认编译器是javac并使用   编译Java源代码。另请注意   目前是默认来源   设置为1.5和默认目标   设置为1.5,独立于   你运行Maven的JDK。

source