java加载第三方jar并实例化类
2016-01-05 11:39
405 查看
/** * * @param declareClass:类声明,eg:com.HelloWordImpl * @param jarPath:jar包路径,目前只支持file协议,其他需要自己改造 * @param <T>:实例对象,eg:HelloWord的实现类HelloWordImpl * @return */ public static <T> T loadJarAndNewIns(String declareClass, String jarPath) { logger.info("==============================>loadJarAndNewIns declareClass[" + declareClass + "],jarPath[" + jarPath + "]"); ClassLoader cl = null; try { // 从Jar文件得到一个Class加载器 cl = new URLClassLoader(new URL[] { new URL(jarPath) }, Thread.currentThread().getContextClassLoader()); // 从加载器中加载Class Class<?> c = cl.loadClass(declareClass); // 从Class中实例出一个对象 return (T) c.newInstance(); } catch (Exception e) { logger.error("===============================>loadJarAndNewIns fail"); logger.error(e.getMessage()); } return null; }
相关文章推荐
- java 根据输入的日期返回日期中的年份月份,格式为“2009年3月”
- JAVA JRE与JDK的区别(简洁,详细,精辟)
- java 故障排查之一:高CPU占用
- Spring+Encache简单整合
- [javase学习笔记]-7.12 static关键字的使用场景
- Struts2注解配置之@Namespace(四)
- java解析XML几种方式小结
- java 返回指定月份的最后一天的59分59秒
- Struts2注解配置之@Results和@Result(三)
- Java并发之串行线程池
- Struts2注解配置之@Action(二)
- Spring事务管理笔记
- Spring注解@Controller 详解
- Struts2零配置之Configuration by Convention(一)
- java(JVM)结束时释放JNI资源(Runtime.addShutdownHook)
- java设计模式之桥接模式
- java 解压压缩文件
- MyEclipse8.5注册码有效期2018年
- Struts-登录-代码1
- 第一章 Java常用集合类总览