我正在使用Swing in Net Beans。我有自己的jar,里面包含类和方法。我将使用JAVA Reflection API调用这些类和方法,但在此之前我想在运行时将我的Jar加载到类路径中。我有一个J按钮,点击它我得到Jar Name和Jar路径。但我没有在运行时将Jar加载到classpath。有一些链接,但没有帮助。请给我一个简单的例子。我应该将我的jar加载到classpath。这对我来说是唯一的问题。我会照顾到这一点。请帮忙。
答案 0 :(得分:3)
您可以在运行时使用ClassLoader
加载课程,例如URLClassLoader
看一下
File yourJarFile = ...;
URLClassLoader classLoader = new URLClassLoader(new URL[]{yourJarFile.toURI().toURL()});
这将允许您加载类并实例化它们......
Class class = classLoader.loadClass("fully.qualified.packagename.to.your.AwesomeClass");
然后,您可以使用类似......
之类的东西对它们进行实例化Object obj = class.newInstance();
如果您想使用特定的构造函数,请进行反射。请记住,您无法直接在当前的类加载器上下文中引用这些类,因为当前的类加载器对它们一无所知