zoukankan      html  css  js  c++  java
  • Eclipse获取资源路径

    一、问题:

      这几天做一个单机版的数据抓取项目,之前都加载了spring或者是maven

      使用【this.getClass().getClassLoader().getResource("main.png")).getImage()】可以获取到资源的路径

      但是现在的项目里却怎么也加载不了资源?

     

    二、分析:

      (1) 获取类加载的根路径【结果:拿不到】

        File f = new File(this.getClass().getResource("/").getPath()); 

        System.out.println(f);

      (2)获取加载器路径【结果:拿不到】

         URL xmlpath = this.getClass().getClassLoader().getResource("");
                System.out.println(xmlpath);

      (3)请教同事

        原来是我使用Eclipse编辑器的时候,新建资源文件夹用的是【Folder】,而不是【Source Folder】

        最后在项目执行的时候,资源没有加载到【bin】目录下,还在外层

        要想在原来的基础上使用,必须使用【../】回上级目录再加载资源文件

    三、总结:

      资源文件的路径加载算是一个小问题,但是在反射或者容器加载资源路径的时候,往往资源的路径是变化的

      但是通常的加载方式,都是使用类加载器来加载资源的路径

    四、扩展:

      java非web工程加载log4j日志配置文件:

      PropertyConfigurator.configure("./" + PropertyUtil.LOG4J_CONFIG_FILE);

      注意:

        log4j和我们在类里加载路径的不同点在于,log4j加载配置文件是从【工程】下面,而不是【src / bin】目录下

        所以,文件夹新建时候可以只是新建【Folder】这种简单的文件夹

  • 相关阅读:
    DOSD用scratch的方式训练通用目标检测,性能很高
    caffemodel模型
    NetScope脱机(localhost)使用[转】
    class前置声明
    const函数
    CUDA开发
    caffe2学习
    faster rcnn讲解很细
    控制台输出覆盖当前行显示
    UA池 代理IP池 scrapy的下载中间件
  • 原文地址:https://www.cnblogs.com/hackxiyu/p/9168155.html
Copyright © 2011-2022 走看看