Problem(Abstract)
This technote explains an issue in the IBM Websphere Commerce environment where wcbd-build scripts fail in the EJBDeploy phase so the EJB module can not be built successfully.
Symptom
While executing wcbd-build in WebSphere Commerce v7.0, the following errors are seen while building the EJB module (WebSphereCommerceServerExtensionsData):
The full error message is as follows:
java.lang.NoSuchFieldError:
com/ibm/datatools/internal/core/util/EngineeringOptionID.GLOBAL_VARIABLE
[wsejbdeploy] at
com.ibm.datatools.db2.luw.ddl.LUWDdlGenerator$SingletonOptionDependency.
getSingletonObject(LUWDdlGenerator.java:2414)
[wsejbdeploy] at
com.ibm.datatools.db2.luw.ddl.LUWDdlGenerator.getAllContainedDisplayable
ElementSetDepedency(LUWDdlGenerator.java:1602)
[wsejbdeploy] at
com.ibm.datatools.db2.luw.ddl.LUWDdlGenerator.access$1(LUWDdlGenerator.j
ava:1601)
[wsejbdeploy] at
com.ibm.datatools.db2.luw.ddl.LUWDdlGenerator$OptionDependency.doDiscove
ry(LUWDdlGenerator.java:1971)
[wsejbdeploy] at
com.ibm.datatools.db2.luw.ddl.LUWDdlGenerator$OptionDependency.<init>(LU
WDdlGenerator.java:1875)
[wsejbdeploy] at
com.ibm.datatools.db2.luw.ddl.LUWDdlGenerator.getOptions(LUWDdlGenerator
.java:1801)
[wsejbdeploy] at
com.ibm.datatools.db2.luw.ddl.LUWDdlGenerator.getOptions(LUWDdlGenerator
.java:1782)
Cause
This is a known issue cause by two old data tool plugins that existed in "deploytools/itp/plugins/" directory:
- com.ibm.datatools.core_3.0.101.v200811190853.jar
- org.eclipse.datatools.modelbase.sql.query_1.0.1.v200811050430.jar
Resolving the problem
Remove the old data tool plugins:
- Navigate to "deploytools/itp/plugins/" directory
- Back up the following jar files:
- com.ibm.datatools.core_3.0.101.v200811190853.jar
- org.eclipse.datatools.modelbase.sql.query_1.0.1.v200811050430.jar
- Remove the jar files from step #2 in the "deploytools/itp/plugins/" directory
- Navigate to "/opt/IBM/WebSphere/AppServer/deploytool/itp/configuration"
- Back up the "/configuration" directory
- Delete all the files and directories within "/configuration" directory
Note: Except "config.ini" if present. - Run wcbd-build again and verify the result.