JDK-6473331 : rmic does not use manifest classpath
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.rmi
  • Affected Version: 5.0u9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2006-09-21
  • Updated: 2017-05-16
  • Resolved: 2007-02-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6 JDK 7
5.0u11Fixed 6u1Fixed 7 b08Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Description
As of JDK 1.5, both java and javac recurse the manifest classpath of a jar on the java classpath.  However, rmic compiler does not use the manifest classpath at all.  This impacts a number of our customers adversely.  We have made necessary internal changes to our product that make extensive use of manifest classpaths.  This bug prevents the loading of required classes when using rmic with the altered jars.

Comments
WORK AROUND If neither the "-idl" nor the "-iiop" options to rmic need to be used (i.e. rmic is being used to generate RMI/JRMP stub classes), then use "-Xnew" as the first option to rmic. That option enables a newer internal implementation of rmic, which is based on the current javac implementation (through javadoc), and thus it implicitly inherits javac's support for JAR manifest Class-Path entries. Unfortunately, this newer implementation does not yet support the CORBA (RMI/IIOP) modes of operation (see 4911536 & 4819896).
21-09-2006

EVALUATION The current default implementation of rmic is still based on the so-called "oldjavac" libraries, which do not support JAR manifest Class-Path entries. If all of the other JDK tools now support JAR manifest Class-Path entries for JAR files in their application class paths, then it does seem like a bug that rmic does not do so as well. The implementation of rmic enabled by the "-Xnew" option, which is based on the current javac implementation (through javadoc), inherits javac's support for JAR manifest Class-Path entries, so this bug will be fixed at the latest when that implementation becomes the default (see 4819896).
21-09-2006

WORK AROUND The only workaround is to potentially put a large number of jar files explicitly on the java classpath. This would require an unacceptable change to many of our customers.
21-09-2006