JAVA如何动态加载jar,并调用对应的函数?

简介: JAVA如何动态加载jar,并调用对应的函数?

有时这样处理更方便。比如说,加载某个包,执行main(String[] args),范例代码如下:


 

private static void proguard(final String proguardDir)
    {
        //直接加载lib,执行语句如下:
        //proguard.ProGuard.main(new String[] {CONFIG_FILE});
        try
        {
            URL url1 = new URL("file:D:/lib/proguard.jar");
            URLClassLoader classLoader = new URLClassLoader(new URL[] { url1 }, Thread.currentThread().getContextClassLoader());
            Class<?> proguard = classLoader.loadClass("proguard.ProGuard");
            Method mainMethod = proguard.getDeclaredMethod("main", String[].class);
            mainMethod.invoke(null, new Object[] {new String[] { CONFIG_FILE}});
            classLoader.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

目录
相关文章
|
1月前
|
JavaScript 前端开发 Java
Java Script中的函数原型是什么
Java Script中的函数原型是什么
10 0
|
4月前
|
Java 关系型数据库 Linux
Linux|Java|jar包的解压和重新打包(更新配置)
Linux|Java|jar包的解压和重新打包(更新配置)
64 0
|
14天前
|
Java
java中jar启动设置内存大小java -jar 设置堆栈内存大小
java中jar启动设置内存大小java -jar 设置堆栈内存大小
11 1
|
23天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
88 3
|
1月前
|
Oracle Java 关系型数据库
【问题】Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
【问题】Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
|
1月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
94 1
|
3月前
|
Java
java的OutputStream.writeUTF()函数
java的OutputStream.writeUTF()函数
34 4
|
4月前
|
存储 Java
Java【报错 01】Unable to open nested jar file 问题说明及解决方法(仅针对压缩工具 WinRAR)
Java【报错 01】Unable to open nested jar file 问题说明及解决方法(仅针对压缩工具 WinRAR)
111 0
|
4月前
|
SQL 数据采集 Java
Java【代码分享 02】商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+获取及解析源代码)包含csv和sql格式数据下载可用
Java【代码分享 02】商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+获取及解析源代码)包含csv和sql格式数据下载可用
41 0
|
4月前
|
jenkins Java 应用服务中间件
Jenkins【部署 01】两种方式+两种环境部署最新版本 Jenkins v2.303.2 WAR包(直接使用 java -jar+使用Tomcat的Web端部署)
Jenkins【部署 01】两种方式+两种环境部署最新版本 Jenkins v2.303.2 WAR包(直接使用 java -jar+使用Tomcat的Web端部署)
67 0