zoukankan      html  css  js  c++  java
  • ClassLoader载入指定的类需注意六个细节或报ClassNotFundEception异常总结

    项目中,载入指定的类反射调用方法一直报类找不到,经过数百次的測试。对这样的问题有了一个又一次的认识,特总结、记录、分享例如以下:

    1、路径中尽可能用"/"或者File.separator()而非“\”,路径中“”是windows平台的。linux平台中是“/”,java中也是用“/”作为路径的,所以为了跨平台和更规范,建议採用前者

    2、在当前的环境中获取绝对路径后,尽可能的replace(“\”,"/")一下,windows平台开发中这个非常须要的

    3、new File中字符串路径假设是目录后边能够不带“/”,但假设你直接是new URL("路径")来指定载入类的路径的话,后边必须追加“/”否则会以文件处理找不到的

    4、由file转成URL时,建议别採用File.toURL()此方法已经被JDK1.6及以后版本号淘汰了,属于过时API,应该採用file.toURI().toURL()方法

    5、路径中非法字符会这转成URI的过程中变成"%20",只是不会影响程序的执行。路径中如有汉字也是能够的,不要过于操心这一点,只是调试一下小心乱码。

    建议路径还是非汉字正常字符组成的比較好。

    6、最最重要的一点,就是载入的类假设有包名,如com.***.text;,一定要把类的路径写成com文件的上一层,而load("类名")时。一定要写上包名如com.***.text.Formatter。网上非常多简单的測试类都没注意到这一点。假设你路径中非要写上包名并且測试还通过了。恭喜你。你碰巧了。由于假设路径不正确类载入器load不到的话会去当前类的路径下边去找,你肯定把这个被载入的測试类和载入的写在一个包下了。

     

     

     

  • 相关阅读:
    hystrix总结之缓存
    python3列表
    hystrix总结之多返回值命令
    hystrix总结之限流
    hystrix(5) 延时检测
    redis-start
    设计模式-4建造者模式
    设计模式-3原型模式
    设计模式-2工厂设计模式
    设计模式-七大设计原则
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5165885.html
Copyright © 2011-2022 走看看