Here you can find the source of addJarLibralyClassPath(Object classLoaderMakedObject, File jarPath)
@SuppressWarnings("unchecked") public static void addJarLibralyClassPath(Object classLoaderMakedObject, File jarPath) throws Exception
//package com.java2s; /*//from w w w .ja v a2 s.co m file of LaBeeFramework https://www.bee-wkspace.com/ Copyright (C) 2016- Naoki Yoshioka (ARTS Laboratory) http://www.arts-lab.net/dev/ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. */ import java.io.File; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; public class Main { @SuppressWarnings("unchecked") public static void addJarLibralyClassPath(Object classLoaderMakedObject, File jarPath) throws Exception { URLClassLoader classLoader = (URLClassLoader) classLoaderMakedObject.getClass().getClassLoader(); @SuppressWarnings("rawtypes") Class classClassLoader = URLClassLoader.class; Method methodAddUrl = classClassLoader.getDeclaredMethod("addURL", URL.class); methodAddUrl.setAccessible(true); methodAddUrl.invoke(classLoader, jarPath.toURI().toURL()); } public static Class<?> getClass(Object classLoaderMakedObject, File file, String targetClass) throws Exception { URL[] urls = { file.toURI().toURL() }; URLClassLoader classLoader = (URLClassLoader) classLoaderMakedObject.getClass().getClassLoader(); ClassLoader loader = URLClassLoader.newInstance(urls, classLoader); Class<?> clazz = loader.loadClass(targetClass); return clazz; } }