我有一个可以通过符合给定接口的java类扩展的应用程序。 如果我从命令行类运行程序,我可以使用:
实例化附加类Class.forName("myAddon").newInstance();
但是,如果我jar应用程序(正确设置主类),我会得到一个类未找到异常。任何人都可以了解这里发生的事情吗?
TIA, 亚当
答案 0 :(得分:1)
我已经设法使用URLClassLoader使其工作,将搜索路径指定为当前目录,如下所示:
URLClassLoader cl = new URLClassLoader(new URL[] {new File(".").toURI().toURL()});
感谢您的帮助,
亚当
答案 1 :(得分:0)
您正在寻找的课程不在课程路径上。如果它在一个目录中
即。 MyClass.class MyJar.jar
你需要这样做:
java -classpath . -jar MyJar.jar
但实际上我们需要更多信息来回答这个问题。 jar清单中设置的主要类是什么?你的课程路径是什么?如何指定要加载的类?