我在eclipse上用maven2创建了一个项目。在我添加了hibernate-annotations依赖项后,我试图使用hibernate注释创建一个类(@ Entity,@ Table ...),但它给了我这个错误:
将项目合规性和JRE更改为1.5
我修复了它,但只要我的jdk是1.6,就无法理解为什么它需要这个。
提前感谢!
答案 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>
编辑: 啊,太糟糕了,只是看到那些是自定义属性......无法工作。