📄 tanghanclassloader.java
字号:
/* * Created on 2003-5-18 * */package com.tanghan.plugin;import java.io.File;import java.io.IOException;import java.net.URL;import java.net.URLClassLoader;import java.util.HashMap;import org.apache.log4j.Logger;import com.tanghan.util.DealString;import com.tanghan.util.Log;/** * @author Jerry Tang * @version v0.1.0 * @copyright (C) 2003 Tanghan Studio * */public class TanghanClassLoader { //当前的ClasLoader实例 private ClassLoader classLoader; //日志类 private static Logger logger = Log.getInstanse().getLogger(); //记录已载入的类包路径 private HashMap jarFileList; public TanghanClassLoader(ClassLoader parent) { classLoader = parent; jarFileList = new HashMap(); } /* public TanghanClassLoader(String fileName,ClassLoader parent) throws IOException { this(new File(fileName).toURL(),parent); } public TanghanClassLoader(URL url,ClassLoader parent) { this(new URL[] { url },parent); } public TanghanClassLoader(URL[] urls,ClassLoader parent) { super(urls, parent); classLoader = this; }*/ public boolean loadJarFile(String fileName){ synchronized(classLoader){ if(jarFileList.containsKey(DealString.trim(fileName))){ return true; }else{ URLClassLoader clLoader = null; try{ clLoader = new URLClassLoader(new URL[] { new File(fileName).toURL() },classLoader); }catch(IOException ex){ logger.error(ex.getMessage(),ex); return false; } jarFileList.put(DealString.trim(fileName),clLoader); classLoader = clLoader; return true; } } } /* (non-Javadoc) * @see java.lang.ClassLoader#loadClass(java.lang.String) */ public Class loadClass(String arg0) throws ClassNotFoundException { // TO_O Auto-generated method stub return classLoader.loadClass(arg0); } /** * @return */ public ClassLoader getClassLoader() { return classLoader; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -