IBM Support

EJBDeployer failed with RMIC command failed during Prepare for deployment on Rational Application Developer 7.0 with WebSphere Application Server 6.1.0.21

Troubleshooting


Problem

Prepare for deployment or publish failed with error message EJBDeployer failed when using WebSphere Application Server 6.1.0.23.

Symptom

Open the Error Log view or the file <workspace>/.metadata/.log:

!ENTRY org.eclipse.jst.j2ee 4 0 2009-05-22  12:58:06.169

!MESSAGE Deploying TestEJB

!SUBENTRY 1   2009-05-22  12:58:06.169

!MESSAGE J2EEDeployOperation_2_UI_.

!SUBENTRY 1  org.eclipse.jst.j2ee 4 4 2009-05-22 12:58:06.169

!MESSAGE Deployment from  com.ibm.etools.ejbdeploy.EJBDeployer had errors:

!STACK 0

com.ibm.etools.rmic.RMICException: RMIC  command failed on project: TestEJB

with message:

error: An error has occurred in the compiler;  please file a bug report (http://java.sun.com/cgi-bin/bugreport.cgi.).

java.lang.NoSuchMethodError:  com/ibm/jtc/orb/map/CacheFactory.create(Lcom/ibm/jtc/orb/map/MapFactory;Lcom/ibm/jtc/orb/map/ObjectFactory;)Lcom/ibm/jtc/orb/map/Cache;

 at com.ibm.rmi.io.ObjectStreamClass$ObjectStreamClassCache$ClassToCacheCache$Caches.<init>(Unknown Source)

 at com.ibm.rmi.io.ObjectStreamClass$ObjectStreamClassCache$ClassToCacheCache$Caches.<clinit>(Unknown Source)

 at java.lang.J9VMInternals.initializeImpl(Native Method)

 at java.lang.J9VMInternals.initialize(Unknown Source)

 at com.ibm.rmi.io.ObjectStreamClass$ObjectStreamClassCache$ClassToCacheCache.get(Unknown Source)

 at com.ibm.rmi.io.ObjectStreamClass$ObjectStreamClassCache.get(Unknown Source)

 at com.ibm.rmi.io.ObjectStreamClass.lookup(Unknown Source).

 at com.ibm.rmi.io.ObjectStreamClass.lookup(Unknown Source).

 at com.ibm.rmi.util.RepositoryId.createHashString(Unknown Source)

 at com.ibm.rmi.util.RepositoryId.createHashString(Unknown Source)

 at com.ibm.rmi.util.RepositoryId.<clinit>(Unknown Source)

 at java.lang.J9VMInternals.initializeImpl(Native Method))

 at java.lang.J9VMInternals.initialize(Unknown Source)

 at com.ibm.tools.rmic.iiop.Type.setRepositoryID(Unknown Source)

 at com.ibm.tools.rmic.iiop.CompoundType.initialize(Unknown Source)

 at com.ibm.tools.rmic.iiop.SpecialClassType.<init>(Unknown Source)

 at com.ibm.tools.rmic.iiop.SpecialClassType.forSpecial(Unknown Source)

 at com.ibm.tools.rmic.iiop.CompoundType.makeType(Unknown Source)

 at com.ibm.tools.rmic.iiop.ClassType.initParents(Unknown Source)

 at com.ibm.tools.rmic.iiop.NCClassType.initialize(Unknown Source)

 at com.ibm.tools.rmic.iiop.NCClassType.forNCClass(Unknown Source)

 at com.ibm.tools.rmic.iiop.CompoundType.makeType(Unknown Source))

 at com.ibm.tools.rmic.iiop.ClassType.initParents(Unknown Source))

 at com.ibm.tools.rmic.iiop.ImplementationType.initialize(Unknown Source)

 at com.ibm.tools.rmic.iiop.ImplementationType.forImplementation(Unknown Source)

 at com.ibm.tools.rmic.iiop.CompoundType.makeType(Unknown Source)

 at com.ibm.tools.rmic.iiop.ClassType.initParents(Unknown Source)

 at com.ibm.tools.rmic.iiop.ImplementationType.initialize(Unknown Source)

 at com.ibm.tools.rmic.iiop.ImplementationType.forImplementation(Unknown Source)

 at com.ibm.tools.rmic.iiop.StubGenerator.getTopType(Unknown Source)

 at com.ibm.tools.rmic.iiop.Generator.generate(Unknown Source)

 at sun.rmi.rmic.Main.doCompile(Unknown Source)

 at sun.rmi.rmic.Main.compile(Unknown Source))

 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source))

 at java.lang.reflect.Method.invoke(Unknown Source)

 at com.ibm.etools.rmic.RMICClassLoader.runCompile(Unknown Source)))

 at com.ibm.etools.rmic.RMICOperation.invokeRMICInJVM(Unknown Source)

 at com.ibm.etools.rmic.RMICOperation.rmic(Unknown Source)

 at com.ibm.etools.rmic.RMICOperation.generateStubs(Unknown Source)

 at com.ibm.etools.rmic.RMICOperation.run(Unknown Source)

 at com.ibm.etools.ejbdeploy.EJBDeployer.visit(Unknown Source)

 at com.ibm.etools.ejbdeploy.EJBDeployer.doExecute(Unknown Source))

 at com.ibm.etools.ejbdeploy.EJBDeployer.execute(Unknown Source)

 at org.eclipse.jst.j2ee.internal.deploy.J2EEDeployOperation.deploy(Unknown Source)

 at org.eclipse.jst.j2ee.internal.deploy.J2EEDeployOperation.execute(Unknown Source)

 at org.eclipse.jst.j2ee.internal.actions.J2EEDeployAction$1.run(Unknown Source)

 at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)

1 error.

Further details have been recorded in the .log file  in C:\myworkspace\.metadata

 at com.ibm.etools.rmic.RMICClassLoader.runCompile(Unknown Source)

 at com.ibm.etools.rmic.RMICOperation.invokeRMICInJVM(Unknown Source)

 at com.ibm.etools.rmic.RMICOperation.rmic(Unknown Source)

 at com.ibm.etools.rmic.RMICOperation.generateStubs(Unknown Source)

 at com.ibm.etools.rmic.RMICOperation.run(Unknown Source)

 at com.ibm.etools.ejbdeploy.EJBDeployer.visit(Unknown Source)

 at com.ibm.etools.ejbdeploy.EJBDeployer.doExecute(Unknown Source))

 at com.ibm.etools.ejbdeploy.EJBDeployer.execute(Unknown Source)

 at org.eclipse.jst.j2ee.internal.deploy.J2EEDeployOperation.deploy(Unknown Source))

 at org.eclipse.jst.j2ee.internal.deploy.J2EEDeployOperation.execute(Unknown Source)

 at org.eclipse.jst.j2ee.internal.actions.J2EEDeployAction$1.run(UnknownSource)

 at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)

Cause

This issue has been identified as a product defect and has been logged under APAR PK85674.

The change in JDK caused incompatibility between Rational Application Developer and IBM WebSphere Application Server during a RMIC call.

Environment

Rational Application Developer 7.0.0.x with WebSphere Application Server 6.1.0.23

Diagnosing The Problem

After running Prepare for deployment or publishing a project to WebSphere Application Server v6.1, the view Error Log and the file <workspace>/.metadata/.log contain the exception described in the symptom.

Resolving The Problem

There are two solutions for this issue.

  1. Stay on your version of Rational Application Developer

    Use the JDK 1.5.0 SR9 and launch the ejbdeploy called during the Prepare for deployment within Rational Application Developer in a separate process.

    Steps:
    1. Upgrade the SDK within WebSphere Application Server to at least version 1.5.0 Service Release 9. See the link Recommended fixes for WebSphere Application Server at the end of this technote.
    2. Open the file eclipse.ini found within the installation directory (by default C:\Program Files\IBM\SDP70) with an editor. Add the line -DEJBDEPLOY_SYSTEM_CALL_RMIC=true in a new line after the line -vmargs
    3. Call Prepare for deployment within Rational Application Developer

  2. Upgrade to Rational Application Developer 7.0.0.9 or later
A new user preference J2EE > WebSphere Application Server > Always Run RMIC in a separate process will resolve this incompatibility.

[{"Product":{"code":"SSRTLW","label":"Rational Application Developer for WebSphere Software"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Application Server Tooling (AST)","Platform":[{"code":"PF033","label":"Windows"},{"code":"PF016","label":"Linux"}],"Version":"7.0.0.8","Edition":"All Editions","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 September 2018

UID

swg21392149