Javaで動的にクラスパスを追加する。テストのときにおすすめ。
static {
String fileName = "./path";
File file = new File(fileName);
URLClassLoader sysloader = (URLClassLoader) ClassLoader
.getSystemClassLoader();
@SuppressWarnings("rawtypes")
Class sysclass = URLClassLoader.class;
@SuppressWarnings("rawtypes")
Class[] parameters = new Class[] { URL.class };
try {
@SuppressWarnings("unchecked")
Method method = sysclass.getDeclaredMethod("addURL", parameters);
method.setAccessible(true);
@SuppressWarnings("deprecation")
URL url = file.toURL();
method.invoke(sysloader, new Object[] { url });
} catch (Throwable t) {
t.printStackTrace();
}
}