URLClassLoader
JARファイル内にあるリソースやクラスを利用するメモ
import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
public class Client {
public static void main(String[] args) throws Exception {
File f = (File)"sample.jar".getCanonicalFile();
URL[] url = new URL[]{ f.toURL() };
URLClassLoader ucl = new URLClassLoader(url,ClassLoader.getSystemClassLoader());
//クラスの場合
Class cls = ucl.loadClass("sample.Sample");
//リソースの場合
URL res_url = ucl.getResource("hoge.txt");
}
}
備考
クラス上から動的にクラスパスを追加する
import java.io.File;
import java.net.URLClassLoader
public class Client {
public static void main(String[] args) throws Exception {
URLClassLoader ucl = (URLClassLoader)ClassLoader.getSystemClassLoader();
ucl.addURL(new File("commons-collection.jar").toURL());
}
}