利用URLClassLoader加载两个位置的Class
2015-05-14 22:54
489 查看
内容:分别位于\myApp\WEB-INF\classes下的类和\webroot下的类,利用URL数组指定多个仓库位置加载。
MyClassLoader:
MyClassLoader:
public class MyClassLoader { public static final String WEB_ROOT = System.getProperty("user.dir") + File.separator + "webroot"; public static final String WEB_APP = System.getProperty("user.dir") + File.separator + "myApp" + File.separator + "WEB-INF" + File.separator + "classes"; public static void main(String[] args) { URLClassLoader loader = null; try { URL[] urls = new URL[2]; URLStreamHandler streamHandler = null; File classPath = new File(WEB_ROOT); File appPath = new File(WEB_APP); String repository1 = (new URL("file", null, classPath.getCanonicalPath() + File.separator)).toString() ; String repository2 = (new URL("file", null, appPath.getCanonicalPath() + File.separator)).toString() ; urls[0] = new URL(null, repository1, streamHandler); urls[1] = new URL(null, repository2, streamHandler); loader = new URLClassLoader(urls); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Class myClass = null; Class appClass = null; try { myClass = loader.loadClass("ModernServlet"); appClass = loader.loadClass("PrimitiveServlet"); } catch (Exception e) { System.out.println("error"); } Servlet servlet = null; try { servlet = (Servlet) myClass.newInstance(); servlet.init(null); servlet = (Servlet) appClass.newInstance(); servlet.init(null); } catch (Exception e) { System.out.println("error"); } } }
相关文章推荐
- Java使用URLClassLoader加载指定位置的类
- 利用URLClassLoader加载class到当前线程
- 利用URLClassLoader加载class到当前线程
- 使用URLClassLoader动态加载类
- URLClassLoader加载class到当前线程类加载器【zt】
- 利用classLoader加载src下面的文件
- weblogic10.3加载status2报错 unable to attain an URLClassLoader - [unknown location]
- URLClassLoader加载class到当前线程类加载器
- 运用URLClassLoader加载外部jar包的java类,生成Class文件
- 使用URLClassLoader加载mysql数据库
- 【java】动态加载类-URLClassLoader
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件
- 利用URLClassLoader读取Jar包并反射类(利用Tomcat源码)
- Java运行时动态加载类之URLClassLoader
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件 .
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件
- 使用URLClassLoader动态加载类
- 资源定位的问题-URLClassLoader、ServletContext、jetty资源加载
- ClassLoader,URLClassLoader,类的动态加载!