首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中

2012-12-27 
java代码实现利用 classloader 动态加载 jar包、文件夹到classpath中在项目中实现了一个工具(独立运行的Jav

java代码实现利用 classloader 动态加载 jar包、文件夹到classpath中

在项目中实现了一个工具(独立运行的Java工程,打成jar包后 通过 java -jar **.jar 执行的。),该工具通过配置能够实现一些业务功能,
并且该工具提供了接口与抽象类,供其他人扩展它的功能。

这就涉及到一个问题:别人在扩展它的时候,需要引入一些jar或者配置文件,本来工具依赖的jar和配置文件都记录在manifest文件中了,
不可能别人加了jar包和配置文件就要修改manifest文件的。
所以我为工具提供了另外一个入口,通过 该通过的配置文件 进行配置 路径,由于考虑到扩展的人可能多人或者多组,所以配置文件如下定义:
以ext_classpath开头的,诸如 ext_classpath_biz1等对应的路径均被加入到classpath中。
以ext_resourcepath开头的,诸如 ext_resourcepath_biz1等对应的路径均被加入classpath中。

代码实现如下:

java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中package?com.bz.utils;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中import?java.io.File;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中import?java.lang.reflect.Method;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中import?java.net.URL;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中import?java.net.URLClassLoader;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中import?java.util.List;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中/**?*//**
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?*?根据properties中配置的路径把jar和配置文件加载到classpath中。
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?*?@author?jnbzwm
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?*
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中public?final?class?ExtClasspathLoader?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????/**?*//**?URLClassLoader的addURL方法?*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?Method?addURL?=?initAddMethod();
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?URLClassLoader?classloader?=?(URLClassLoader)?ClassLoader.getSystemClassLoader();
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????/**?*//**
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?初始化addUrl?方法.
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?@return?可访问addUrl方法的Method对象
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?Method?initAddMethod()?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????try?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????Method?add?=?URLClassLoader.class.getDeclaredMethod("addURL",?new?Class[]?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{?URL.class?});
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????add.setAccessible(true);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????return?add;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????catch?(Exception?e)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????throw?new?RuntimeException(e);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????/**?*//**
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?加载jar?classpath。
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????public?static?void?loadClasspath()?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????List<String>?files?=?getJarFiles();
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????for?(String?f?:?files)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????loadClasspath(f);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????List<String>?resFiles?=?getResFiles();
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????for?(String?r?:?resFiles)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????loadResourceDir(r);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?void?loadClasspath(String?filepath)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????File?file?=?new?File(filepath);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????loopFiles(file);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?void?loadResourceDir(String?filepath)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????File?file?=?new?File(filepath);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????loopDirs(file);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????/**?*//**????
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?循环遍历目录,找出所有的资源路径。
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?@param?file?当前遍历文件
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?void?loopDirs(File?file)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????//?资源文件只加载路径
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????if?(file.isDirectory())?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????addURL(file);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????File[]?tmps?=?file.listFiles();
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????for?(File?tmp?:?tmps)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????????loopDirs(tmp);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????/**?*//**????
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?循环遍历目录,找出所有的jar包。
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?@param?file?当前遍历文件
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?void?loopFiles(File?file)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????if?(file.isDirectory())?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????File[]?tmps?=?file.listFiles();
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????for?(File?tmp?:?tmps)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????????loopFiles(tmp);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????else?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????if?(file.getAbsolutePath().endsWith(".jar")?||?file.getAbsolutePath().endsWith(".zip"))?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????????addURL(file);
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????/**?*//**
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?通过filepath加载文件到classpath。
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?@param?filePath?文件路径
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?@return?URL
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?@throws?Exception?异常
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?void?addURL(File?file)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????try?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????????addURL.invoke(classloader,?new?Object[]?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{?file.toURI().toURL()?});
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????catch?(Exception?e)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????/**?*//**
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?从配置文件中得到配置的需要加载到classpath里的路径集合。
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?@return
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?List<String>?getJarFiles()?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????//?TODO?从properties文件中读取配置信息略
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????return?null;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????/**?*//**
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?从配置文件中得到配置的需要加载classpath里的资源路径集合
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*?@return
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中?????*/
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????private?static?List<String>?getResFiles()?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????//TODO?从properties文件中读取配置信息略
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????return?null;
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????public?static?void?main(String[]?args)?java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中{
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????????ExtClasspathLoader.loadClasspath();
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中????}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中}
java代码兑现利用 classloader 动态加载 jar包、文件夹到classpath中

热点排行