Hi Kevin,
I've bumped into something. In FileCacheEntry.java, near line 548 of the
version checked into CVS (we're in the constructor for FileCachedResource), I
find the following lines:
/**
* Creates a cached resource in the resource dir for the specified
reference.
*
* @param ref the reference to cache
*/
FileCachedResource(Reference ref) {
super(ref);
String path = reference.getURL().getPath();
cacheFile = new File(getResourceDir(),
path.substring(path.lastIndexOf("/")));
}
[I suspect my mailer will break the wrap on this - sorry] At any rate, I'm a
little baffled by the line
String path = reference.getURL().getPath();
I don't find reference defined anywhere in the file - do you mean "ref"
instead? Or is this an aspect of Java that I don't understand?
What's happening on my system, using Sun's JDK 1.4.0, is that execution gets
to the initializer for FileCachedResource, and then throws a
java.lang.VerifyError, like so:
[cheiny@anomalocaris targets]$ openjnlp.sh ~/jpathreport.jnlp
Opening file:/home/cheiny/jpathreport.jnlp
Exception in thread "main" java.lang.VerifyError: (class:
org/nanode/launcher/cache/FileCacheEntry$FileCachedResource, method: <init>
signature:
(Lorg/nanode/launcher/cache/FileCacheEntry;Lorg/nanode/launcher/Reference;J)V)
Expecting to find object/array on stack
at
org.nanode.launcher.cache.FileCacheEntry.addResource(FileCacheEntry.java:276)
at org.nanode.jnlp.JNLPParser.parseDescriptor(JNLPParser.java:302)
at
org.nanode.app.openjnlp.DefaultAppHandler.handleOpenURL(DefaultAppHandler.java:72)
at org.nanode.app.OpenJNLP.main(OpenJNLP.java:83)
[cheiny@anomalocaris targets]$
I >think< there is something funky going on with that "reference", but I must
confess bafflement at this point. Can you provide enlightenment?
Thanks!
Chris
|