前段时间要使用class 类与jar 包的动态加载,在网络上找了很多资料,都不完整,现在我把简单整理与修改后的代码贴出来供大家参考, 如果有错误,请大家指出,:)
jar 包加载
package com.sms.util;
import java.net.URLClassLoader;
import java.net.URL;
import java.io.File;
import java.io.IOException;
public class NewClassLoader
extends URLClassLoader {
public NewClassLoader() {
super(new URL[0], ClassLoader.getSystemClassLoader());
}
public void addPath(String paths) {
if (paths == null || paths.length() <= 0) {
return;
}
String separator = System.getProperty("path.separator");
String[] pathToAdds = paths.split(separator);
for (int i = 0; i < pathToAdds.length; i++) {
if (pathToAdds[i] != null && pathToAdds[i].length() > 0) {
try {
File pathToAdd = new File(pathToAdds[i]).getCanonicalFile();
System.out.println(pathToAdd.toURL());
addURL(pathToAdd.toURL());
}
catch (IOException e) {
Constants.exceptionHandling(e);
}
}
}
}
}
|
类加载
import java.net.URLClassLoader;
import java.net.URL;
import java.io.File;
import java.io.IOException;
public class NewClassLoader
extends URLClassLoader {
public NewClassLoader() {
super(new URL[0], ClassLoader.getSystemClassLoader());
}
public void addPath(String paths) {
if (paths == null || paths.length() <= 0) {
return;
}
String separator = System.getProperty("path.separator");
String[] pathToAdds = paths.split(separator);
for (int i = 0; i < pathToAdds.length; i++) {
if (pathToAdds[i] != null && pathToAdds[i].length() > 0) {
try {
File pathToAdd = new File(pathToAdds[i]).getCanonicalFile();
System.out.println(pathToAdd.toURL());
addURL(pathToAdd.toURL());
}
catch (IOException e) {
Constants.exceptionHandling(e);
}
}
}
}
}
|