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不到的话会去当前类的路径下边去找,你肯定把这个被载入的測试类和载入的写在一个包下了。

     

     

     

  • 相关阅读:
    查询job的几个语句
    fdisk与parted分区
    升级时针对Source oracle home 不存在解决办法
    oracle常用视图v$mystat v$sesstat v$sysstat v$statname v$thread v$ parameter v$session v$process
    x$ksppi与x$ksppcv查询隐藏参数
    查询表空间及已使用情況的SQL语句
    通过系统进程查找sql语句
    RAC日常维护命令
    创建ASM实例及ASM数据库(转载)
    安装数据库软件,节点未显示
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5165885.html
Copyright © 2011-2022 走看看