B4J Question cannot execute .jar from command line

Patrick Clark

Active Member
Licensed User
I get the error below with executing:
B4X:
java -cp test.jar b4j.example.main
I have installed the java files as described in the b4j installation instructions and I am using B4J 8.9

how do I get the versions to match?

B4X:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: b4j/example/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(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)
 

Patrick Clark

Active Member
Licensed User
Do you have both Java 8 and 11 or 14 installed? It looks a bit like you are using JDK 11 to compile and then trying to run with java 8?
I have installed as per the installation instructions where the download links talk about OpenJDK11/OpenFX11 and Oracle JDK8.

So it sounds like your synopsis could well be true.

Question therefore is where do I get the matching items from?

I have found jdk-11.0.9_windows but if I install this I get
B4X:
'java' is not recognized as an internal or external command,
operable program or batch file.
 

Patrick Clark

Active Member
Licensed User
Update: Fixed that, I needed to set the PATH manually.

but now I get
B4X:
Error: Could not find or load main class b4j.example.main
Caused by: java.lang.ClassNotFoundException: b4j.example.main
 

Patrick Clark

Active Member
Licensed User
Update: My Bad

I was trying to execute the .jar in the source folders not the Objects Folder.

Working now!

@agraham Thanks for pointing me in the right direction.
 
Top