zoukankan      html  css  js  c++  java
  • 关于ClassLoader的一点小问题

      今天在看某框架的源码的时候,遇到一个使用URLClassLoader加载Servlet类的问题,当自己在eclipse里面做试验的时候,始终无法把Class加载成功。比如:

            ClassLoader cl = new URLClassLoader(new URL[] {new URL("file:E:/xxx/src/main/java/primitive/servlet/")});
            Class<?> c = cl.loadClass("xxxServlet");

      究其原因,我们在new URL的时候,路劲应该是除了包以外的路劲,比如上面的E:/xxx/src/main/java/primitive/servlet/是我们的eclipse工作空间路劲加上包构成的完整路径,但是这样不行,而应该是E:/xxx/src/main/java/这样子,后面cl.loadClass("primitive/servlet/xxxServlet")这样带上包名的结构。所以改成如下就可以了。

            URL url = new URL("file:E:/eclipse-mars-workspace/tomcat-core/src/main/java");
            URLClassLoader cl = new URLClassLoader(new URL[] {url});
            Class<?> c = cl.loadClass("primitive.servlet.PrimitiveServlet");
        *注意:路径是以 "/"分割,而包名是以 "."分割

         Reference:http://inexus.iteye.com/blog/800188

  • 相关阅读:
    word编号变黑块
    恢复未保存的word
    协方差分析
    SAS字体变大
    可变区组长度--区组随机
    adv and disadv of oncology clinical trial endpoints
    非劣效试验界值确定
    Computer Science
    Compuer Science
    随笔
  • 原文地址:https://www.cnblogs.com/dreamroute/p/5776230.html
Copyright © 2011-2022 走看看