java动态加载jar
时间: 2023-09-14 15:12:12 浏览: 51
Java动态加载jar文件可以使用Java反射机制和Java类加载器。以下是一个简单的示例代码,可以动态加载jar文件中的类:
```java
import java.net.URL;
import java.net.URLClassLoader;
import java.lang.reflect.Method;
public class DynamicJarLoader {
public static void main(String[] args) throws Exception {
// 加载jar文件
URL[] urls = { new URL("file:/path/to/jar/file/sample.jar") };
URLClassLoader classLoader = new URLClassLoader(urls);
// 加载类
Class<?> clazz = classLoader.loadClass("com.sample.SampleClass");
// 创建对象
Object object = clazz.newInstance();
// 调用方法
Method method = clazz.getMethod("sampleMethod", String.class);
method.invoke(object, "Hello World!");
// 关闭类加载器
classLoader.close();
}
}
```
以上代码中,首先使用URLClassLoader加载jar文件,然后使用loadClass方法加载指定类。接着使用反射机制创建对象,并调用对象的方法。最后关闭类加载器。注意,这里需要指定jar文件的绝对路径。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)