OT: This is for java geeks out there
Christoph Höger
choeger at cs.tu-berlin.de
Thu Sep 4 22:56:38 UTC 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I do not know where to ask that, so I try it here:
I want to load a (dynamically created) class via URL ClassLoader and
then invoke a public static method on it.
Here is the code:
Class lexerDefs = Class.forName("parser.LexerDefs", true, loader);
Method getLexerDefs = null;
try {
getLexerDefs = lexerDefs.getMethod("lexerDefs", new Class[] {});
} catch (NoSuchMethodException e) {
fail("Class " + lexerDefs.getName() + " has no method lexerDefs()\n"
+ e.getMessage());
}
parser.Options.inputFile = this.inputFile;
System.err.println("invoking: " + getLexerDefs.toString());
Object retObject = getLexerDefs.invoke(null, new Object[0]);
But all I get is:
Class test.TestParserGenerator can not access a member of class
parser.LexerDefs with modifiers "public static"
So loading class seems to work, but I cannot invoke a _public_ method? Why?
Anyone knows about reflection?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iD8DBQFIwGemhMBO4cVSGS8RAmZFAJ9NtL1izKhmj40HHM/Xv1MgB7l1GACeJqOa
eTf9ku27xa1wBUAOyNQfxkg=
=MOSM
-----END PGP SIGNATURE-----
More information about the fedora-devel-list
mailing list