日期:2014-05-20  浏览次数:20607 次

关于加载第三方JAR的问题
我测试时要用到的JAR,放在开发FILE.LIB中;但是却不知道怎么设置;
现在用DOS;没有IDE;现在采取的方法是;放在了JDK.JRE.LIB.EXT中,这样不好,我知道,后果还没暴露;
JAR有很多;不能一个个去LOAD;
如果你用到动态CLASSLOAD的一些自定义的,这个我找到一个,还没有通;
谢谢各位回复;

------解决方案--------------------
设置环境变量中的classpath没有用吗?启动的时候,使用批处理脚本,在脚本中加载环境变量是比较常见的办法
------解决方案--------------------
一般都是写批处理,程序启动的时候加载的,当然类加载器也是一种选择。
http://blog.csdn.net/sunyujia/archive/2008/06/08/2524105.aspx
http://blog.csdn.net/sunyujia/archive/2008/04/22/2316293.aspx
------解决方案--------------------
我给楼住一个思路: 
一.首先要知道jar包的路径,这个一般可以通过设置系统属性得知
二.创建一个File对象.假设为对象名为:fileDir
三.创建一个FilenameFilter对象(假设名字为:myFileFilter)过滤不要的文件,只要后缀为.jar的文件.
四.通过fileDir.listFiles(myFileFilter);获得一个文件数组(假设名为:files);
五.创建一个URL数组,里面存放files的文件的url,如:
URL m_urlList = new URL[jarList.size()];
for (int i = 0; i < jarList.size(); i++) {
m_urlList[i] = (URL) jarList.get(i);
}
六.通过URLClassLoader类加载jar包.如:
URLClassLoader classLoader = URLClassLoader.newInstance(m_urlList);
七.最后.
Thread.currentThread().setContextClassLoader(classLoader);