栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java, groovy运行时加载jar包

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java, groovy运行时加载jar包

代码块

java加载jar,并调用类方法,例如:

URL url1 = new URL("file:/Users/Dorne/.m2/repository/org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar");
URLClassLoader myClassLoader1 = new URLClassLoader(new URL[] { url1 }, Thread.currentThread().getContextClassLoader());
Class aClass = myClassLoader1.loadClass("org.apache.commons.lang3.StringUtils");
Object instance = aClass.getDeclaredConstructor().newInstance();
Object strip = aClass.getDeclaredMethod("strip", String.class, String.class).invoke(instance, "[1,2,3,4,5,6,2,3,5,1]", "[]");
System.out.println(strip);

groovy加载jar,并调用类方法,例如:

File file = new File("/Users/Dorne/test.groovy");
GroovyClassLoader classLoader = new GroovyClassLoader();
classLoader.addClasspath("/Users/Dorne/.m2/repository/org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar");
classLoader.parseClass(file);
Method run = clazz.getMethod("run", String.class);
Object obj = clazz.getDeclaredConstructor().newInstance();
Object res = run.invoke(obj, "xxx");
System.out.println(res);

test.groovy文件:

//前面已经加载了commons-lang3-3.9.jar 可以直接import
import org.apache.commons.lang3.StringUtils

public class Test{
	public String run(String str) {
		//方法1
		System.out.println(StringUtils.strip("[1,2,3,4,5,6,2,3,5,1]", "[]"));

		//方法2
		Class aClass = Class.forName("org.apache.commons.lang3.StringUtils");
        Object instance = aClass.newInstance();
        Object strip = aClass.getDeclaredMethod("strip", String.class, String.class).invoke(instance, "[1,2,3,4,5,6,2,3,5,1]", "[]");
        System.out.println(strip);

		return "call groovy run " + str;
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353868.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号