JDK-4798312 : In Windows, javap doesnt load classes from rt.jar
  • Type: Bug
  • Component: tools
  • Sub-Component: javap
  • Affected Version: 1.4.2,5.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_2.5,windows_2000,windows_xp
  • CPU: x86
  • Submitted: 2003-01-02
  • Updated: 2003-07-25
  • Resolved: 2003-04-23
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
1.4.2 b21Fixed
Related Reports
Duplicate :  
Duplicate :  
Description
Tested on Windows 2000, with b11 mantis-beta build,

using

"javap java.lang.String "

gives

ERROR:Could not find java.lang.String


More curious is this case
=========================
javap -Xold java.lang.String

which gives the entire dump then also gives the above said error message..
Compiled from String.java
public final class java.lang.String extends java.lang.Object implements java.io.Serializable, java.lang.Comparable, java.lang.CharSequence {
    public static final java.util.Comparator CASE_INSENSITIVE_ORDER;
    public int hashCode();
    public int length();
    static {};
    public java.lang.String();
    public byte getBytes()[];
    public char toCharArray()[];
    public char charAt(int);
    public int indexOf(int);
    public int lastIndexOf(int);
    public int indexOf(int, int);
    public int lastIndexOf(int, int);
    public void getBytes(int, int, byte[], int);
    java.lang.String(int,int,char[]);
    public void getChars(int, int, char[], int);
    public java.lang.String(byte[]);
    public java.lang.String(byte[],int);
    public java.lang.String(byte[],int,int);
    public java.lang.String(byte[],int,int,int);
    public java.lang.String(char[]);
    public java.lang.String(char[],int,int);
    static int indexOf(char[], int, int, char[], int, int, int);
    static int lastIndexOf(char[], int, int, char[], int, int, int);
    public java.lang.CharSequence subSequence(int, int);
    public int compareTo(java.lang.Object);
    public boolean equals(java.lang.Object);
    public native java.lang.String intern();
    public java.lang.String toLowerCase();
    public java.lang.String toString();
    public java.lang.String toUpperCase();
    public java.lang.String trim();
    public static java.lang.String valueOf(char);
    public java.lang.String replace(char, char);
    public static java.lang.String valueOf(double);
    public static java.lang.String valueOf(float);
    public java.lang.String substring(int);
    public static java.lang.String valueOf(int);
    public java.lang.String substring(int, int);
    public boolean regionMatches(int, java.lang.String, int, int);
    public static java.lang.String valueOf(long);
    public int compareTo(java.lang.String);
    public int compareToIgnoreCase(java.lang.String);
    public int indexOf(java.lang.String);
    public int lastIndexOf(java.lang.String);
    public java.lang.String(java.lang.String);
    public boolean endsWith(java.lang.String);
    public boolean equalsIgnoreCase(java.lang.String);
    public boolean matches(java.lang.String);
    public boolean startsWith(java.lang.String);
    public byte getBytes(java.lang.String)[] throws java.io.UnsupportedEncodingException;
    public int indexOf(java.lang.String, int);
    public int lastIndexOf(java.lang.String, int);
    public boolean startsWith(java.lang.String, int);
    public static java.lang.String valueOf(boolean);
    public boolean regionMatches(boolean, int, java.lang.String, int, int);
    public java.lang.String(byte[],int,int,java.lang.String) throws java.io.UnsupportedEncodingException;
    public java.lang.String(byte[],java.lang.String) throws java.io.UnsupportedEncodingException;
    public static java.lang.String copyValueOf(char[]);
    public static java.lang.String valueOf(char[]);
    public static java.lang.String copyValueOf(char[], int, int);
    public static java.lang.String valueOf(char[], int, int);
    public java.lang.String(java.lang.StringBuffer);
    public boolean contentEquals(java.lang.StringBuffer);
    public static java.lang.String valueOf(java.lang.Object);
    public java.lang.String concat(java.lang.String);
    public java.lang.String split(java.lang.String)[];
    public java.lang.String split(java.lang.String, int)[];
    public java.lang.String toLowerCase(java.util.Locale);
    public java.lang.String toUpperCase(java.util.Locale);
    public java.lang.String replaceAll(java.lang.String, java.lang.String);
    public java.lang.String replaceFirst(java.lang.String, java.lang.String);
}
ERROR:Could not find java.lang.String


Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: mantis-rc tiger FIXED IN: mantis-rc tiger INTEGRATED IN: mantis-b21 mantis-rc tiger tiger-b14
14-06-2004

WORK AROUND Use -Xold
11-06-2004

PUBLIC COMMENTS This problem, and its workaround, should be documented.
10-06-2004

SUGGESTED FIX JavapEnvironment is using : as the path separator on all platforms instead of using File.pathSeparator. Changing all uses ":" to allows it to work properly on windows. ###@###.### 2003-03-25
25-03-2003

EVALUATION Yes, this will be fixed in tiger. ###@###.### 2003-01-06 This really should be fixed in mantis. javap shouldn't accidentally break completely in a minor release. ###@###.### 2003-03-25 I suspect you're not suggesting holding up Mantis beta for this bug fix. Given the existence of a workaround, I don't think this is too serious. ###@###.### 2003-03-25 I'm suggesting that this bug should be evaluated by the core team to decide whether it should be fixed for mantis. Given that it's a regression and that it's an embarassing thing to break, I'd say it should be fixed by mantis FCS. The fix is straightforward and doesn't affect any other tools. It also can't break javap any more than it already is. It really should have been fixed 2 1/2 months ago when it came in. We've had plenty of time to fix this and we should do so. ###@###.### 2003-03-25 Fixing things doesn't take mere time, it takes engineering resources. If you believe it should be fixed for Mantis FCS, take it to the Mantis pteam. ###@###.### 2003-03-25
25-03-2003