Problem
When invoking the MettleCI command shell you receive the following error message:
Java
C:\Users\Developer>mettleci.cmd
Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=com/datamigrators/mettle/shell/MainClass, offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:331)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:155)
etc.
… or you see this in the Workbench mci.log file:
Java
Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=com/datamigrators/mettle/MettleApplication, offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:331)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:155)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:714)
etc.
Solution
This error is unavoidably produced when you invoke the MettleCI Command Line, or attempt to start the Workbench service, in an environment which is not running Java v1.8 or greater. In particular, the MettleCI Command Line cannot work with the IBM-specific version of Java typically shipped with DataStage. To confirm this is the issue login to the relevant host as the mciworkb user and run java -version to verify the java version.
To resolve this error please ensure you follow the first step in the Command Line installation guide which requests you to install a more recent version of Java.
Related articles
- ISX Message-Handlers Command
- MettleCI CLI produces SLF4J errors
- ISX Export Command
- UnitTest Generate Command
- MettleCI Command Line Reference
- DataStage Capture Command
- The MettleCI Bamboo Command Plugin fails with NoSuchMethodError
- ISX Cut Command
- MettleCI CLI produces error of the form 'Cannot run program "XXX"'
- DataStage Create-Project Command
- Compliance Query Command
- Remote Execute Command
- MettleCI CLI throws an 'UnsupportedClassVersionError'
- ISX Cut Command
- DSParams Diff Command
- UnitTest Generate Command
- Problems supplying passwords to the MettleCI Command Line
- UnitTest Migrate Command
- Compliance Console Command 🔒
- DataStage Delete-Project Command
- Remote Download Command
- DSParams Merge Command
- Remote Download Command
- UnitTest Install-Server-Test-Harness Command
- UnitTest Install-Server-Test-Harness Command
- Remote Upload Command
- DSParams Diff Command
- DataStage Compile Command
- Problems supplying passwords to the MettleCI Command Line
- JUnit Test Results
- Workbench Set-Branch Command
- DataStage Connector Migration Command
- DataStage Cleanup-Projects Command
- Command Line Interface
- UnitTest Migrate Command
- Properties Config Command
- Workbench Set-Branch Command
- ISX Set-Params Command
- DataStage Create-Project Command
- The `mettleci datastage create-project` command fails
- DataStage Execute Command
- Command Reference
- Error running 'mettleci compliance query' command
- UnitTest Test Command
- MettleCI CLI produces error of the form 'Cannot run program "XXX"'
- Compliance List-Tags Command
- Compliance Query Command
- ISX Import Command
- ISX Message-Handlers Command
- MettleCI CLI produces SLF4J errors
- DataStage Deploy Command
- ISX Cat Command
- JUnit Test Results
- DSParams Merge Command
- DataStage Delete-Project Command
- Compliance List-Tags Command
- UnitTest Uninstall-Server-Test-Harness Command
- Some MettleCI Command Line options are being ignored on Windows
- DataStage Compile Command
- Properties Config Command
- UnitTest Test Command
- ISX Cat Command
- Some MettleCI Command Line options are being ignored on Windows
- DataStage Execute Command
- Remote Upload Command
- DataStage Capture Command
- MettleCI CLI warns "'ds.client.path' not configured, assuming DataStage client is available on system PATH"
- MettleCI CLI warns "'ds.client.path' not configured, assuming DataStage client is available on system PATH"
- The MettleCI Bamboo Command Plugin fails with NoSuchMethodError
- DataStage Cleanup-Projects Command
- Error running 'mettleci compliance query' command
- Fabrication List Command
- The `mettleci datastage create-project` command fails
- ISX Import Command
- DSParams Delete Command
- ISX Set-Params Command
- DSParams Delete Command
- MettleCI CLI throws an 'UnsupportedClassVersionError'
- Remote Execute Command
- Compliance Test Command
- The MettleCI Bamboo Command Plugin fails with ClassNotFoundException
- DataStage Deploy Command
- UnitTest Uninstall-Server-Test-Harness Command
- DataStage Connector Migration Command
- The MettleCI Bamboo Command Plugin fails with ClassNotFoundException
- Compliance Test Command
- ISX Export Command
- MettleCI CLI Operating Modes