/
MettleCI CLI throws an 'UnsupportedClassVersionError'

MettleCI CLI throws an 'UnsupportedClassVersionError'

Problem

When invoking the MettleCI command shell you receive the following error message:

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:

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

Related content

Prerequisite Java Installation
Prerequisite Java Installation
More like this
Unexpected DataStage error occurred - Unhandled exception Type=Segmentation error
Unexpected DataStage error occurred - Unhandled exception Type=Segmentation error
More like this
MettleCI CLI produces error of the form 'Cannot run program "XXX"'
MettleCI CLI produces error of the form 'Cannot run program "XXX"'
More like this
Can I use my existing version of Java Virtual Machine?
Can I use my existing version of Java Virtual Machine?
More like this
Can MettleCI use a more recent version of Java than Java 8?
Can MettleCI use a more recent version of Java than Java 8?
More like this

© 2015-2024 Data Migrators Pty Ltd.