[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: japize
From: |
Stuart Ballard |
Subject: |
Re: japize |
Date: |
Tue, 01 Oct 2002 09:11:17 -0400 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020913 Debian/1.1-1 |
Brian Jones wrote:
Brian Jones <address@hidden> writes:
Hmm, what did you compile with? Looks like japi classes rely upon
Collections support. :)
Sorry for the delay in response to this. I was trying to figure out
whether I knew of any reason you could be getting "class not found" on
Japize itself... surely the classnotfound error should refer to a
missing collections class, not japize?
Did you establish that this was due to the missing collections classes,
or is that issue still open?
So basically I can't figure out any way to run japize with JDK 1.1 and
any form of the Collections classes, I think mostly because Comparable
didn't exist at that time, like in String, and TreeMap breaks, at
least in Classpath.
Yes, it does rely on Collections, including TreeSet (which I believe
depends on TreeMap behind the scenes). You could probably use it with
JDK1.1 and one of the collections addons if you changed all the import
statements for java.util.* and recompiled (and also used the jode
jarball that's designed for 1.1) but I haven't tested this. This is
unfortunate but there were aspects of the algorithm that really relied
on collections' behavior, and recoding without the use of TreeSet.subSet
would at least double the size of a subroutine or two...
This means it's useless or impossible to compare against 1.1, unless
someone else finds a way to do this.
On the other hand, this part isn't true. Japize uses the Jode libraries
to load classes from any zipfile you specify, so it's entirely possible
(and expected) to use JDK1.{2,3,4} to run Japize itself, but point it at
the JDK1.1 classes.zip.
The same thing is presumably necessary to get a classpath japi, if
classpath's TreeMap doesn't work.
Try something like this, with "java" in your path equating to jdk1.2 or
above...
japize as jdk11 packages /usr/lib/jdk1.1/lib/classes.zip +java
-java.awt.peer -java.text.resources
(that's all one line of course).
Java 2 comparisons being more
meaningful anyway I'll probably stick to this. Does anyone have an
appropriate japize line for Java 2 (1.2, 1.3, 1.4)?
I haven't tried (my computer would give up the ghost at the mere
thought) but here's how I'd go about figuring one out:
japize as jdk13 packages /usr/lib/j2sdk1.3/jre/lib/rt.jar +java +javax +org
japipkgs jdk13.japi.gz | less
Then compare the list of packages to the list in Sun's API documentation
(http://java.sun.com/j2se/1.3/docs/api/overview-summary.html) and add
-pkgname entries for each of the things that shouldn't be there.
If you do produce 1.2, 1.3 or 1.4 japi files, please send them to me or
post them somewhere, because it would be really useful for my testing (I
believe my computer can handle japicompat on large files, just not
japize itself). Likewise if you produce a classpath.japi.gz...
Btw, it's enlightening to look at the results of japicompat between
successive jdk versions. Sun themselves did an awful lot of
binary-compatibility-breakage between releases...
Stuart.
--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/
- Re: japize,
Stuart Ballard <=
- Re: japize, Brian Jones, 2002/10/01