错误:发生了JNI错误,请检查您的安装,然后在IntelliJ IDEA中重试

时间:2018-08-25 11:53:14

标签: java intellij-idea

我使用IntelliJ IDEA中的默认配置用Java编写了一个简单项目。我建立了项目并成功运行了它。我正在使用Java 1.9。我想检查它是否与Java 1.8一起运行。我将配置中的JRE从Java 1.9更改为Java 1.8,然后运行了我的项目。发生以下错误:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Main has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

此问题:IntelliJ Error: A JNI error has occurred, please check your installation and try again有所不同,因为它具有NoClassDefFoundError而不是UnsupportedClassVersionError。这个问题A JNI error has occurred, please check your installation and try again in Eclipse x86 Windows 8.1也有所不同,因为它涉及Eclipse,而不是IntelliJ IDEA。

2 个答案:

答案 0 :(得分:0)

我找到了解决方案,在.idea/misc.xml中编辑了组件配置。 是

<component name="ProjectRootManager" version="2" languageLevel="JDK_1_9" project-jdk-name="9.0" project-jdk-type="JavaSDK">
  <output url="file://$PROJECT_DIR$/out" />
</component>

然后我将其更改为

<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="8.0" project-jdk-type="JavaSDK">
  <output url="file://$PROJECT_DIR$/out" />
</component>

然后出现了一个applet,它帮助我添加了新的JDK(Java8),并且能够运行我的项目,并且错误消失了。

答案 1 :(得分:0)

问题是我们的清单文件与项目不匹配。我所做的解决了我的问题。我已经为聊天客户端和服务器提供了代码。

首先,我打开了一个新的Java项目,然后创建了一个程序包,然后为我现有的2个类创建了两个类(您可以输入任何名称,因为我们稍后会对其进行更改。)。

然后我在记事本中打开现有的类,复制所有内容并将其粘贴到 新创建的类。 发生错误,说

  

名称不匹配

。重命名编译单元。 然后run ..为我工作。