IBM Support

Use classpath instead of java.ext.dirs with DataStage Java Pack stages.

Troubleshooting


Problem

It may seem convenient to take advantage of the Java extension mechanism architecture by using the java.ext.dirs property to point to directories, rather than using classpath, which requires explicitly naming each jar file. However, the java.ext.dirs property is meant for a very specific purpose, not as a general class-loading mechanism, and using it will cause errors with the Java Pack stages at runtime.

Symptom

If the $DSHOME/java/lib directory is included in java.ext.dirs, the following error will be observed:

java.lang.IllegalAccessError: com/ascentialsoftware/jds/Stage.setup(Ljava/lang/Object;)

If $DSHOME/java/lib is not included, but instead java.ext.dirs is used to point to the directory containing the class or jar file which contains the Java implementation for the stage, the following exception will be thrown:

java.lang.NoClassDefFoundError: com.ascentialsoftware.jds.Stage

These errors will occur even if the classpath setting is correct.

[{"Product":{"code":"SSVSEF","label":"IBM InfoSphere DataStage"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF027","label":"Solaris"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"9.1;8.7;8.5;8.1;8.0","Edition":"","Line of Business":{"code":"LOB76","label":"Data Platform"}}]

Log InLog in to view more of this document

This document has the abstract of a technical article that is available to authorized users once you have logged on. Please use Log in button above to access the full document. After log in, if you do not have the right authorization for this document, there will be instructions on what to do next.

Document Information

Modified date:
25 April 2025

UID

swg21660582