NoClassDefFoundError
    Helmut Eller 
    eller.helmut at gmail.com
       
    Fri Jan  8 00:19:40 PST 2010
    
    
  
I built a JVM as described on the Wiki[1] and running this example:
class Foo {
    public static void main (String[] args) throws Throwable {
        java.dyn.InvokeDynamic.<java.math.BigInteger>bar();
    }
}
with java -Xint -XX:+EnableMethodHandles -XX:+EnableInvokeDynamic Foo
prints:
Exception in thread "main" java.dyn.InvokeDynamicBootstrapError: class has no bootstrap method: class Foo
        at sun.dyn.CallSiteImpl.makeSite(CallSiteImpl.java:80)
        at Foo.main(Foo.java:4)
That's expected.  But after changing BigInteger to Foo like so:
class Foo {
    public static void main (String[] args) throws Throwable {
        java.dyn.InvokeDynamic.<Foo>bar();
    }
}
the error is different:
Exception in thread "main" java.lang.NoClassDefFoundError: Foo
        at Foo.main(Foo.java:4)
Actually, it doesn't seem possible to replace BigInteger with any of my
own classes.  Is this a bug or intended?
Helmut
[1] http://wikis.sun.com/display/mlvm/Building
    
    
More information about the mlvm-dev
mailing list