banan3'14
banan3'14

Reputation: 5024

Error: A JNI error has occurred, please check your installation and try again in IntelliJ IDEA

I wrote a simple project in Java, using default configuration in IntelliJ IDEA. I built the project and ran it successfully. I was using Java 1.9. I wanted to check if it runs with Java 1.8. I changed the JRE in the configuration from Java 1.9 to Java 1.8 and ran my project. The following error occurred:

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)

This question: IntelliJ Error: A JNI error has occurred, please check your installation and try again is different because it has NoClassDefFoundError instead of UnsupportedClassVersionError. This question A JNI error has occurred, please check your installation and try again in Eclipse x86 Windows 8.1 is also different because it regards Eclipse, not IntelliJ IDEA.

Upvotes: 2

Views: 22293

Answers (2)

Indika_Nuwan95
Indika_Nuwan95

Reputation: 679

Problem is our manifest files doesn't match the project. What I did is solved my problem. I had provided codes for chat client and server.

First I opened a new Java project.then created a package ,and then what I did is created two classes (you can give any name since we change it later.) for my 2 existing classes.

Then I opened existing classes in notepad,copy all the content and paste them to newly created classes. An error occurs saying

names doesn't match

. Rename compilation units. Then run..worked for me.

Upvotes: 0

banan3'14
banan3'14

Reputation: 5024

I found a solution, editing a component configuration in .idea/misc.xml. It was

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

and I changed it into

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

Then an applet appeared, which helped me add a new JDK (Java8) and I was able to run my project and the error disappeared.

Upvotes: 1

Related Questions