Java Eclipse默认JRE、项目遵从性和使用的编译器之间的关系

Java Eclipse默认JRE、项目遵从性和使用的编译器之间的关系,java,eclipse,maven,ecj,Java,Eclipse,Maven,Ecj,我有一段时间不明白为什么我的Maven项目没有在Eclipse中构建,并向我显示了“在.class文件中的版本号不正确”错误 我检查了所有依赖项,并确保它们是为Java6或更低版本构建的(使用这个) 我打开了我的项目属性并确认我有特定于项目的编译器设置,设置为符合性级别1.6 我还确认我的构建路径上有Java6库 最后,我发现原因与为我的工作区选择的默认JRE有关。出于某种原因,将其设置为jdk1.5。将其设置为更高的值(我选择了jdk1.8)解决了这个问题。最后,我不得不选择jdk1.7,

我有一段时间不明白为什么我的Maven项目没有在Eclipse中构建,并向我显示了“在.class文件中的版本号不正确”错误

  • 我检查了所有依赖项,并确保它们是为Java6或更低版本构建的(使用这个)
  • 我打开了我的项目属性并确认我有特定于项目的编译器设置,设置为符合性级别1.6
  • 我还确认我的构建路径上有Java6库
最后,我发现原因与为我的工作区选择的默认JRE有关。出于某种原因,将其设置为jdk1.5。将其设置为更高的值(我选择了jdk1.8)解决了这个问题。最后,我不得不选择jdk1.7,以允许AspectJ编织正常工作

我的问题是:为什么这能解决它?根据preferences页面,此设置仅影响添加到新创建Java项目的构建路径中的JRE。我无法理解为什么这会影响我构建项目的能力。有什么建议吗?似乎Eclipse使用默认的JRE选择来影响所使用的编译器类型

我正在使用m2e绑定Eclipse和Maven。我的POM构建部分如下所示:


org.apache.maven.plugins
maven编译器插件
3.1
1.6
1.6
org.codehaus.mojo
aspectj maven插件
1.5
1.6
编译

您如何集成Maven和Eclipse?另外,请发布POM的
部分。您是否运行了Update Maven项目?@chrylis是的,当jdk1.5是默认版本时,我尝试了很多方法来编译它。我做了一个更新Maven项目,并强制进行了一次清理。我甚至关闭了该项目,重新打开并将jdk1.6库删除/添加回构建路径。