美文网首页
java获取Resources目录文件问题

java获取Resources目录文件问题

作者: holyABCD | 来源:发表于2018-10-06 11:30 被阅读0次

    问题

    为什么resource1能获取到,而resource获取不到呢?

    目录结构

    -java
      - com.xxx
        -YmlTest.java
    - resources
      application.yml
    

    YmlTest.java代码

     public class YmlTest {
        public static void main(String[] args){
            Yaml yaml = new Yaml();
            //下面两个获取的都是YmlTest本身所在的classloader
            URL resource = YmlTest.class.getResource("application.yml");
            URL resource1 = YmlTest.class.getClassLoader().getResource("application.yml");
        }
    }
    
    

    问题解决

    查看Class代码

      public java.net.URL getResource(String name) {
          //这里会把传入的名称,update成当前类 包名 + "/" + name
            name = resolveName(name);
            ClassLoader cl = getClassLoader0();
            if (cl==null) {
                // A system class.
                return ClassLoader.getSystemResource(name);
            }
            return cl.getResource(name);
        }
    
      public URL getResource(String name) {
            URL url;
            if (parent != null) {
                url = parent.getResource(name);
            } else {
                url = getBootstrapResource(name);
            }
            if (url == null) {
                url = findResource(name);
            }
            return url;
        }
    
    

    相关文章

      网友评论

          本文标题:java获取Resources目录文件问题

          本文链接:https://www.haomeiwen.com/subject/nyxhaftx.html