Java 为什么我需要将项目合规性更改为1.5?
我在eclipse上用maven2创建了一个项目。添加hibernate注释依赖项后,我试图使用hibernate注释(@Entity,@Table…)创建一个类,但它给了我以下错误: 将项目合规性和JRE更改为1.5 我修复了它,但无法理解为什么只要我的jdk是1.6,它就需要这样做Java 为什么我需要将项目合规性更改为1.5?,java,maven-2,Java,Maven 2,我在eclipse上用maven2创建了一个项目。添加hibernate注释依赖项后,我试图使用hibernate注释(@Entity,@Table…)创建一个类,但它给了我以下错误: 将项目合规性和JRE更改为1.5 我修复了它,但无法理解为什么只要我的jdk是1.6,它就需要这样做 提前感谢 检查maven编译器插件的设置是否也设置为1.5或1.6。如果我没有弄错的话,maven 2默认为1.4 大概是这样的: <plugin>
提前感谢 检查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>
maven编译器插件
2.3.1
1.5
1.5
在POM中添加以下行:
<properties>
<java.version>1.6</java.version>
</properties>
1.6
编辑:
啊,太糟糕了,只是看到那些是定制属性。。。不起作用。虽然这是标准方法,但也有基于属性的解决方案,但它不是:
1.6
1.6
参考(Maven编译器插件):
顺便说一句,原因是它构建了一个对javac的命令行调用,其中它显式地指定了源和目标版本(覆盖javac的默认设置)。以前版本的编译器插件有自己的默认设置为1.3。然而,从插件版本2.3开始,.Whaaaaat?这是从哪里来的?这应该做什么呢?设置编译器级别正成为SO的一个迷因;)(+1)
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>