kaklakariada / portmapper

A tool for managing port forwardings via UPnP
GNU General Public License v3.0
685 stars 90 forks source link

I have OpenJDK 16 and Still error 1 #82

Closed CybearTron closed 6 months ago

CybearTron commented 3 years ago
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

jacobmix commented 3 years ago

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

kaklakariada commented 3 years ago

@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 3 years ago

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

kaklakariada commented 3 years ago

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 3 years ago

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