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

java动态加载类

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

java动态加载类

package com.biao.util;

import java.io.File;

import java.net.URL;

import java.net.URLClassLoader;

import com.biao.ActionInterface;

public class ClassLoaderUtil extends URLClassLoader {

private static ClassLoaderUtil instance = new ClassLoaderUtil();

public ClassLoaderUtil() {

super(new URL[0]);

}

public static ClassLoaderUtil getInstance() {

return instance;

}

public Object loadClass(String path, String className) {

Object obj = null;

try {

URL url = new File(path).toURI().toURL();

addURL(url); // 同一个目录只会保存一个url

Class clazz = loadClass(className); // 加载类

obj = clazz.newInstance();

} catch (Exception e) {

e.printStackTrace();

}

return obj;

}

public static void main(String[] args) {

// 传入jar包路径或者Class所在目录(不包括包名)

// 加载包中的类

ActionInterface ai = (ActionInterface) ClassLoaderUtil.getInstance().loadClass(

"plugins/ai_test.jar","com.biao.MyAction");

System.out.println(ai.action());

// 加载某目录下的类

ai = (ActionInterface) ClassLoaderUtil.getInstance().loadClass(

"/Users/Biao/Documents/Workspace/NewWork/JT2/bin/","com.biao.MyAction2");

System.out.println(ai.action());

ai = (ActionInterface) ClassLoaderUtil.getInstance().loadClass(

"/Users/Biao/Documents/Workspace/NewWork/JT2/bin","com.biao.MyAction2");

System.out.println(ai.action());

URL[] urls = ClassLoaderUtil.getInstance().getURLs();

for (URL url : urls) {

System.out.println(url.getFile());

}

}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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