类文件有错误的版本52.0,应该是50.0

我正在尝试用IntelliJ构思编译我的项目。 我在外部jar文件中使用一个类,并在编译时收到上述错误。

据我所知,它说的是jar文件是使用比IntelliJ使用的更新的Java版本编译的。 我的问题是如何使它们兼容? 我已将Mac上的Java更新为1.8,当我运行java -versionjavac -version它确认了这一点。

我错过了什么? (除了Java开发经验)

选择“文件” – >“项目结构”。

在“项目设置”下选择“项目”

从那里你可以选择“Project SDK”。

这意味着您的Java运行时版本是1.8,但您的编译器版本(javac)是1.6。 要简单地解决它,只需将Java版本从1.8撤回到1.6即可。

但是,如果您不想更改Java运行时版本,请执行以下步骤:

  1. JAVA_HOME =“你的jdk v1.8文件夹路径”,以确保jdk也是v1.8并再次使用java -version和javac -version来确保它
  2. 确保IntelliJ的编译器模式设置为符合v1.6但是我已经尝试过了。 它没有解决我的问题。

由于尝试使用java 8编译我的项目失败,然后重新尝试使用java 6进行编译,因此遇到了与标题相同的错误。有些类在第一次尝试时编译为8并且没有使用6重新编译。混合类没有编译然后。 清洁项目解决了这个问题。 这个答案与问题并不严格相关,但可能对某些人有用。

我遇到同样的问题“类文件有错误的版本52.0,应该是50.0”当通过ant运行java …所有我做的是添加fork =“true”无论我在哪里使用javac任务,它工作…

在你的IntelliJ想法中,使用JDK8中的tools.jar替换tools.jar