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.
- Stay on your version of Rational Application Developer
Use the JDK 1.5.0 SR9 and launch theejbdeploy
called during the Prepare for deployment within Rational Application Developer in a separate process.
Steps: - 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.
- Open the file
eclipse.ini
found within the installation directory (by defaultC:\Program Files\IBM\SDP70
) with an editor. Add the line-DEJBDEPLOY_SYSTEM_CALL_RMIC=true
in a new line after the line-vmargs
- Call Prepare for deployment within Rational Application Developer
- Upgrade to Rational Application Developer 7.0.0.9 or later
Related Information
Was this topic helpful?
Document Information
Modified date:
29 September 2018
UID
swg21392149