在网上搜这个问题,全是一样的答案,如下:importjava.io.File;importjava.net.URLClassLoader;importjava.util.ArrayList;importjava.util.List;importDC.Utility.Configuration;pub...
在网上搜这个问题,全是一样的答案,如下:
import java.io.File;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.List;
import DC.Utility.Configuration;
public class ClassLoad
{
static URLClassLoader loader = null;
/**
* * 在默认的目录加载jar
* *
* @return
*
*/
public static URLClassLoader getClassLoad() {
Configuration config = new Configuration(Configuration.getRoot()+File.separator
+ "classpath.properties");
if (loader == null) {
URLClassLoaderUtil urlClass = new URLClassLoaderUtil(config
.getValue("classpath1"), false);
loader = urlClass.getClassLoader();
}
return loader;
}
/**
* * 在给定的路径加载jar文件
* *
* @param url
* 指定路径
* *
* @param isFile
* true 文件 false 目录
* *
* @return
*
*/
public static URLClassLoader getClassLoad(String url, boolean isFile)
{
URLClassLoaderUtil urlClass = new URLClassLoaderUtil(url, false);
URLClassLoader loader = urlClass.getClassLoader();
return loader;
}
}
class URLClassLoaderUtil
{
URLClassLoader classLoader = null;// URLClassLoader类载入器
private String jarFileName;
private boolean isFile = true;
List jars = new ArrayList(0);
/**
* * 加载具体的某一jar包
* *
* *
* @param jarFileName
*
*/
public URLClassLoaderUtil(String jarFileName)
{
this.setJarFileName(jarFileName);
this.inti();
}
/**
* * 加载jar包 当isFile为false是加载文件夹下所有jar
* *
* *
* @param jarFileName
* * 路径
* *
* @param isFile
*
*/
public URLClassLoaderUtil(String jarFileName, boolean isFile)
{
this.setJarFileName(jarFileName);
this.setFile(isFile);
this.inti();
}
/**
*
* *初始化,读取文件信息,并将jar文件路径加入到classpath
*
*/
private void inti() {
// 添加jar文件路径到classpath
if (this.isFile)
{
File f = new File(jarFileName);
addPath(f.toURI().toString());
jars.add(f.getAbsolutePath());
}
else
{
ReadJarFile df = new ReadJarFile(jarFileName, new String[] { "jar", "zip" });
this.jars = df.getFiles();
List jarURLs = df.getFilesURL();
Object[] o = jarURLs.toArray();
addPath(o);
}
}
可是在引入包的时候,这一行
import DC.Utility.Configuration;
一直报错。不知道这个类是如何引入的?
展开