import sun.misc.ClassLoaderUtil;
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
/**
* java jar的动态加载和释放
*/
public class TestMain {
public static void main(String[] args) throws MalformedURLException, Exception {
System.out.println(new File(".").getAbsolutePath());
URLClassLoader urlClassLoader=new URLClassLoader(new URL[]{new URL("file:C:\\Users\\Administrator\\IdeaProjects\\test\\data.jar")});
Class classStudentServiceImpl= urlClassLoader.loadClass("StudentServiceImpl");
Method method= classStudentServiceImpl.getMethod("getName",new Class[]{});
Constructor localConstructor = classStudentServiceImpl.getConstructor(new Class[] {});
Object instance = localConstructor.newInstance(new Object[] {});
Object ret= method.invoke(instance);
System.out.println(ret);
ClassLoaderUtil.releaseLoader(urlClassLoader);
while(true)
{
Thread.sleep(1000);
System.out.println("run");
}
}
}
jar包的动态加载和释放
最新推荐文章于 2024-07-13 02:49:48 发布