kaklakariada/portmapper

I have OpenJDK 16 and Still error 1

CybearTron opened this issue · 5 comments

PortMapper fails to start
Error 1: When you double click portmapper.jar, an error dialog with the following message is displayed:

A JNI error has occurred, please check your installation and try again

Exactly but I have JDK 16

Could you post your outputs from writing:
javac -version
assoc .jar
ftype jarfile
"%JAVA_HOME%"

@CybearTron : Is your problem solved?
It's possible that the jar is started with a different (default) JVM, even when you have JDK 16 installed.
You can try to start PortMapper specifying the complete path to the JVM:

$JAVA16_HOME/bin/java -jar portmapper.jar 
Ryuo1 commented

@CybearTron : Is your problem solved?
It's possible that the jar is started with a different (default) JVM, even when you have JDK 16 installed.
You can try to start PortMapper specifying the complete path to the JVM:

$JAVA16_HOME/bin/java -jar portmapper.jar 

I have the same problem

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/chris/portmapper/PortMapperStarter has been compiled by a more recent version of the Java Runtime (class file version 55.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(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Hi @Taughtimp2786 ,
it looks like the java binary you used for starting PortMapper only supports Java 8 (class file version 52.0). PortMapper requires Java 11 to run. Please make sure you have Java 11 installed and you are using the correct Java version for starting PortMapper. When java -version returns Java 8, you could start java using the complete path, e.g.:

"C:\Program Files\AdoptOpenJDK\jdk-11.0.3.7-hotspot\bin\java.exe"

Ryuo1 commented

I installed OpenJDK11U-jre_x64_windows_hotspot_11.0.11_9.msi after uninstalling java, which solved the problem. Thank you.