当前位置: 首页 > 知识库问答 >
问题:

如何修复此错误:类文件版本错误52.0,应该是49.0

席俊驰
2023-03-14

我真的很挣扎。我无法将Intellij配置为使用Javac,无法运行javadoc。我似乎无法在Mac OSX上稳定java运行时环境并有效地工作。

我已经创建了最基本的示例,这是一个hello world程序,但它仍然存在命令行错误。我读到的有关此错误的所有信息都告诉我“升级编译器”。但我真的不确定问题是什么,javac

我在调用javac时显式地设置了路径,检查了版本等。一切都告诉我它是1.8。

有人能解释一下如何解决这个问题吗?(无需将我的系统还原为1.5 SDK)。

这是基本hello world应用程序的输出:

$JAVA_HOME/bin/javac Main.java
Main.java:3: cannot access java.lang.Object
bad class file: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar(java/lang/Object.class)
class file has wrong version 52.0, should be 49.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
public class Main {
       ^
1 error
localhost:mycompany$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
localhost:mycompany$

javac版本的输出:

javac -version
javac 1.8.0_45
javac: no source files
Usage: javac <options> <source files>

java版本的输出:

java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

共有2个答案

微生弘
2023-03-14

当尝试使用ant构建Arduino IDE时,我对相同版本也有完全相同的问题。修复方法是从/Library/Java /Extensions/中删除旧版本的tools.jar-只是想为遇到相同问题的其他人澄清一下。

汪臻
2023-03-14

错误消息表示您试图用Java 5 VM加载Java 8类。

出于未知原因,$JAVA_HOME/bin/javac使用JDK 8Java运行时(.../rt.jar),但编译器本身加载了Java5 VM。

我的下一步是确保JAVA\u HOME/bin/javac实际上是它应该的样子(而不是一个做了奇怪事情的脚本)。我还将检查环境(CLASSPATH)和诸如Xbootclasspath之类的选项。尝试设置| grep-i java和设置| grep-i path以查找可疑变量。

如果没有任何效果,请再次尝试重新安装Java 8 SDK。

 类似资料:
  • 问题内容: 我正在尝试以IntelliJ想法编译我的项目。我在外部jar文件中使用类,并且在编译时收到上述错误。 我知道这是说jar文件是使用比IntelliJ正在使用的Java版本更高的Java版本编译的。我的问题是如何使它们兼容?我已经将Mac上的Java更新为1.8,并且在运行时或确认了这一点。 我想念什么?(除Java开发经验外) 问题答案: 选择“文件”->“项目结构”。 在“项目设置”

  • 我正试图用IntelliJ idea编译我的项目。我正在外部jar文件中使用一个类,编译时收到以下错误。 我理解它是说jar文件是用比IntelliJ使用的版本更新的Java版本编译的。我的问题是如何使它们兼容?我已经将Mac上的Java更新为1.8,当我运行或时,它确认了这一点。 我错过了什么?(除了Java开发经验)

  • 我在Visual Studio 2015中升级到了Xamarin的最新版本。然后我编译了我的Android项目,遇到了以下错误: 无法访问android。应用程序。活动错误类文件:[驱动器]:[android sdk文件夹]\platforms\android-24\android。jar(android/app/Activity.class)类文件版本52.0错误,应为50.0。请删除或确保它出

  • 我知道它到处都有一堆线程,但我遵循了说明,它没有工作!我得到以下错误: 无法访问java。lang.Object坏类文件:/Library/Java/JavaVirtualMachines/jdk1.8.0\u 60。jdk/Contents/Home/jre/lib/rt.jar(java/lang/Object.class)类文件的版本错误52.0,应该是48.0。请删除或确保它出现在类路径的

  • 我正在编程一个需要Hibernate技术的项目。我得到了堆栈痕迹,但我不知道如何修复它。有什么需要帮忙的吗? 这是我的堆栈跟踪,我得到了这两个错误: SLF4J:slf4j-api 1.6.x(或更高版本)与此绑定不兼容。SLF4J:您的绑定是1.5.5或更早版本。SLF4J:将绑定升级到1.6.x版本。或2.0.x 导入org.hibernate.hibernateException;导入org

  • 我创建了一个java库程序,并在另一个java程序中使用它作为。jar文件。我的IDE是NetBeans。我通过命令行尝试了相同的概念,但出现了以下错误: 类文件有错误的版本52.0,应该是50.0请删除或确保它出现在类路径的正确子目录中。导入Demo1_Lib. Test1;^ 这是我的步骤。 步骤1:在NetBeans IDE中创建以下类库。 步骤2:在netbeans上创建java项目并添加