xxx.class.getClassLoader().getResource("xxx").getPath()这句话报错空指针

今天跟着网上的教程自己写了一个简易的spring的IOC仿写程序,然后解析xml文件都是自己写的,在运行的时候去获取.xml的路径的时候调用了xxx.class.getClassLoader().getResource("xxx").getPath()这个方法去获取,然后报错空指针,debug以后发现getResource()这拿不到,再往深找

public boolean mayContain(String var1) {
    if (this.isClassOnlyJar && !var1.endsWith(".class")) {
        return false;
    } else {
        String[] var2 = this.contents;

        for(int var3 = 0; var3 < var2.length; ++var3) {
            if (var1.startsWith(var2[var3])) {
                return true;
            }
        }

        return false;
    }
}

找到jdk1.8.0_111\jre\lib\rt.jar!\sun\misc\MetaIndex.class这个类里面发现他通过getClassLoader()找路径是在src包下直接找,其他内部的文件可能自动忽略还是怎么,总之找不到 ,最后把自己写的.xml放在src下后,可以找到并解析。

最后总结一下,就是.xml 配置文件最好放到src根目录下,这样用getClassLoader().getResource("xxx").getPath()去找才能找到。

猜你喜欢

转载自blog.csdn.net/qq_41189384/article/details/81708063
今日推荐