LinkageError occurred while loading main class ortus.boxlang.runtime.BoxRunner

Hello,

After getting my commandbox updated to version 6.x I was ready to try the transpiler on my code.

Here is the command:

boxlang cftranspile --source e:/BoxLang/cfml --target e:/BoxLang/bx --stopOnError

here is the error I am getting:

Error: LinkageError occurred while loading main class ortus.boxlang.runtime.BoxRunner       
        java.lang.UnsupportedClassVersionError: ortus/boxlang/runtime/BoxRunner has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

Here is the server.json

{
    "name": "BoxLang",
    "app": {
        "cfengine": "boxlang",
        "serverHomeDirectory": ".boxlang"
    },
    "JVM": {
        "javaVersion": "openjdk21_jdk"
    },
    "openBrowser": true,
    "web": {
        "rewrites": {
            "enable": true
        }
    },
    "env": {
        "BOXLANG_DEBUG": true
    },
    "scripts": {
        "onServerInitialInstall": "install bx-mail,bx-mysql"
    }
}

When the server starts up I see this:

| Installing package [java:openjdk21_jdk:lockVersion]
   |   |------------------------------------------------------------------
   |   | Installing [openjdk21_jdk]
   |   | Java version:              openjdk21
   |   | Java type:                 jdk
   |   | Java arch:                 x64
   |   | Java os:                   windows
   |   | Java jvm-implementation:   hotspot
   |   | Java release:              latest
   |   | Hitting the Adoptium API to find your download.
   |   | https://api.adoptium.net/v3/assets/version/%5B21%2C22%29?page_size=1000&release_   
   |   | type=ga&vendor=eclipse&project=jdk&heap_size=normal&jvm_impl=hotspot&os=windows&   
   |   | architecture=x64&image_type=j
   |   | Exact version is [openjdk21_jdk_x64_windows_hotspot_jdk-21.0.6+7]
   |   | Lucky you, we found this version of Java in local artifacts!
   |   | The package openjdk21_jdk_x64_windows_hotspot_jdk-21.0.6+7 is already installed    
   |   | at C:\Users\randy\.CommandBox\serverJREs/openjdk21_jdk_x64_windows_hotspot_jdk-2   
   |   | 1.0.6+7. Skipping installation. Use --force option to force instal

Checking java at the commandline:

E:\BoxLang>java --version 
openjdk 21.0.4 2024-07-16 LTS
OpenJDK Runtime Environment Microsoft-9889606 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Microsoft-9889606 (build 21.0.4+7-LTS, mixed mode, sharing)

Researching the error online 61 refers to Java 17

Any ideas what might be going on here?

Thanks,

Randy

Yeah, whatever version of java that the boxlang binary is using is java 17, not 21. I’m not sure how you have it installed exactly. The boxlang CLI command also has nothing at all to do with any CommandBox servers you may be using, so that is unrelated.
Did you by chance use our BoxLang installer from a long time ago when we were shipping Java 17?