Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我需要将项目合规性更改为1.5?_Java_Maven 2 - Fatal编程技术网

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

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>

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

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

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


提前感谢

检查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>