1

我有一个可通过符合给定接口的 java 类扩展的应用程序。如果我从命令行类运行程序,我可以使用以下方法实例化附加类:

Class.forName("myAddon").newInstance();

但是,如果我 jar 应用程序(正确设置主类),我会得到一个类未找到异常。任何人都可以阐明这里发生了什么吗?

TIA,亚当

4

2 回答 2

1

我已经设法使用 URLClassLoader 来完成这项工作,将搜索路径指定为当前目录,如下所示:

URLClassLoader cl = new URLClassLoader(new URL[] {new File(".").toURI().toURL()});

感谢你的帮助,

亚当

于 2009-10-21T14:06:17.313 回答
0

您要查找的类不在类路径中。如果它在目录中

即 MyClass.class MyJar.jar

你需要做:

java -classpath . -jar MyJar.jar

但实际上我们需要更多信息来回答这个问题。jar 清单中设置的主要类是什么?你的类路径是什么?您如何指定要加载的类?

于 2009-10-21T13:22:03.747 回答