一、问题:

  这几天做一个单机版的数据抓取项目,之前都加载了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】这种简单的文件夹

Eclipse获取资源路径的更多相关文章

  1. IDEA中获取资源路径问题

    更正 以src开始,就能用相对路径了... shift+ctrl+alt+s 调出项目结构, 在Modules里,就是设置 Sources Resources Test的界面, 右面的路径就是相对路径 ...

  2. javaWeb项目中的路径格式 请求url地址 客户端路径 服务端路径 url-pattern 路径 获取资源路径 地址 url

    javaweb项目中有很多场景的路径客户端的POST/GET请求,服务器的请求转发,资源获取需要设置路径等这些路径表达的含义都有不同,所以想要更好的书写规范有用的路径代码 需要对路径有一个清晰地认知 ...

  3. Java获取资源路径——(八)

     获取文件资源有两种方式: 第一种是: 获取Java项目根目录开始制定文件夹下指定文件,不用类加载器(目录开始要加/) // 获取工程路径 System.out.println(System.getP ...

  4. IOS获取资源路径

    1. 获取已经添加到xcode工程中的某一资源文件 file.txt 的路径 NSString *filePath_= [[NSBundle mainBundle] pathForResource:@ ...

  5. 【java】获取项目资源路径

    目资源路径分两种,一种是普通Java项目的资源路径,另一种是JavaEE项目的资源路径. 获取Java项目的包(源码下的包 或者 jar包)的资源路径 // 方法1:通过this.getClass() ...

  6. Java开发中关于资源路径获取问题

    描述 在开发中经常会读取配置文件,在Web开发中大多数都是在项目路径下.核心的API类或者是Controller异或是jsp页面等,基本都是基于web应用的相对路径,很少去操作绝对路径,但是在客户端. ...

  7. wpf 前台获取资源文件路径问题

    1 <ImageBrush ImageSource="YT.CM.CommonUI;component/Resource/FloadwindowImage/middle.png&quo ...

  8. Javaweb学习笔记——(九)——————Servlet的进入,及ServletConfig、GenericServlet、HttpServlet、ServletContext、获取类路径资源

    Servlet1.什么是Servlet? *Servlet是Javaweb三大组件之一(Servlet,Filter,Listener) *Servlet是用来处理客户端请求的动态资源 *Servle ...

  9. Java获取资源的路径

    在Java中,有两种路径: 类路径 文件夹路径 使用类路径有两种方式: object.getClass().getResource()返回资源的URL MyClass.class.getResourc ...

随机推荐

  1. Sublime Text 的使用笔记

    Sublime Text 是一个代码编辑器(Sublime Text 2,3是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器.Sublime Text是由程序员Jon Skinner ...

  2. 将虚拟网络连接到 ExpressRoute 线路

    本文通过使用 Resource Manager 部署模型和 Azure 门户,帮助将虚拟网络 (VNets) 链接到 Azure ExpressRoute 线路. 虚拟网络可以在同一个订阅中,也可以属 ...

  3. 全局唯一ID生成器

    分布式环境中,如何保证生成的id是唯一不重复的? twitter,开源出了一个snowflake算法,现在很多企业都按照该算法作为参照,实现了自己的一套id生成器. 该算法的主要思路为: 刚好64位的 ...

  4. 远程桌面报错解决:No Remote Desktop License Servers Available

    摘 要 用户发来反馈,使用部门Windows跳板机报错:The remote session was disconnected because there are no Remote Desktop ...

  5. 导出AD用户所属组,查询AD用户(aduser)

    $ous="admin","bladmin","af","dd"for($i=0;$i -lt 2;$i++) { $o ...

  6. Linux 软硬链接详解

    软链接 软链接: 类似于windows的快捷方式,—>文本文件,但是包含了真实文件的地址               源文件删除,则软连接也删除               软链接可以放在任何文 ...

  7. Ubunt16.04下安装PHP7+Nginx+MySQL

    本文通过Ubuntu PPA来安装PHP7.   1.添加PPA $ sudo apt-get install python-software-properties software-properti ...

  8. Coursera-AndrewNg(吴恩达)机器学习笔记——第二周编程作业(线性回归)

    一.准备工作 从网站上将编程作业要求下载解压后,在Octave中使用cd命令将搜索目录移动到编程作业所在目录,然后使用ls命令检查是否移动正确.如: 提交作业:提交时候需要使用自己的登录邮箱和提交令牌 ...

  9. 【Excel】坐下,VLOOKUP基本操作

    坐下,VLOOKUP基本操作   VLOOKUP如何使用我就不在这里详细介绍了,简单说一下好了.     如上图,第一个填写你要查找的值,第二个空选取你查找的范围,第三个空填你要得到第几列的值,最后选 ...

  10. php常用算法和数据结构

    </pre><pre name="code" class="php"><?php /** * Created by PhpStor ...