为什么我需要将项目合规性更改为1.5?

时间:2010-10-29 06:53:34

标签: java maven-2

我在eclipse上用maven2创建了一个项目。在我添加了hibernate-annotations依赖项后,我试图使用hibernate注释创建一个类(@ Entity,@ Table ...),但它给了我这个错误:

  

将项目合规性和JRE更改为1.5

我修复了它,但只要我的jdk是1.6,就无法理解为什么它需要这个。

提前感谢!

3 个答案:

答案 0 :(得分:11)

检查maven编译器插件的设置是否也设置为1.5或1.6。如果我没弄错,maven 2默认为1.4。

这样的事情:

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.1</version>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>

答案 1 :(得分:9)

虽然javamonkey79's solution是执行此操作的标准方法,但也有基于属性的解决方案,但它不是the one fgysin suggests

<properties>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
</properties>

参考(Maven编译器插件):

BTW,原因是maven compiler plugin构建了对javac的命令行调用,其中它明确指定了源版本和目标版本(覆盖了javac的默认设置)。以前版本的编译器插件的默认值设置为1.3。但是,从插件版本2.3开始,1.5 is the default source and target version

答案 2 :(得分:-2)

将以下行添加到POM:

   <properties>
      <java.version>1.6</java.version>
   </properties>

编辑: 啊,太糟糕了,只是看到那些是自定义属性......无法工作。