突然发现有一种简单的办法:

IDEA 的 Mark Directory as
  右键项目中的一个文件夹,会出现目录【Mark Directory as】
选择【Resources Root】 实现下面原文的效果

其中 Excluded :排除掉当前文件夹,如果文件夹是source文件夹,排除了,就变成普通文件夹,不再认为是source,就不会编译当前文件夹内部的java到classpath里


原文如下:

getResourceAsStream()方法可以从classpath 中读取文件,其实就是编译后的class 文件所在的路径

  prop.load(this.getClass().getClassLoader().getResourceAsStream(fileName));

添加到classpath中的文件,会被直接拿到跟class文件相同的目录下,比如下面的这个属性文件config.properties,就在编译后的classes文件夹下

如何添加到这个目录下呢?
  直接在AAA.java 同目录下新建不可以直接实现效果的

通过界面操作的方法

首先可以在src 下新建个目录resources,在这个目录下添加所需的文件config.properties

打开File -> Project Structure ...

选择Modules-> Sources 界面,选择到文件夹 resources,然后右键,选择 Resources

这个时候就添加了属性文件,同时文件夹的图标也会变化

重新build一下,就实现了添加配置文件到classpath 的效果了。

直接修改配置文件的方法

上面的操作,实际上是修改了IDEA的 iml文件,每一个项目都有一个.iml文件
所以我们可以直接在project.iml 文件中添加
  <sourceFolder url="file://$MODULE_DIR$/src/resources" type="java-resource" />

最后重新build 一下就行

原创文章,欢迎转载,转载请注明出处!

IDEA添加配置文件到classpath的更多相关文章

  1. Macos mysql 8.0.11 添加配置文件

    mac 安装mysql 后,没有配置文件,如果需要添加配置文件,需要在/etc 目录下面添加 my.cnf 文件. 添加方法 打开文件命令:sudo vi  /etc/my.cnf 文件添加内容: [ ...

  2. 基于spring-boot的测试桩设计-添加配置文件(properties)

    编写测试时,有些内容可以放到配置文件中. 第一步:新增配置文件 conf.properties 第二步:编写配置文件类 MockConf package mock.mockdemo.conf; imp ...

  3. python - requests中添加配置文件

        HttpRequests.py #-*- coding:utf-8 -*- import requests class HttpRequests(): def http_requests(se ...

  4. LabVIEW--为设备添加配置文件.ini

    需求:我同一个程序下载到两台机器人上,有些参数是不一样的,比如说服务器的ID或者端口,以及存放文件的位置,如果我每次下载之前改程序的话就非常麻烦了(虽然在程序里面是作为全局变量来存的),不利于后期的更 ...

  5. Linux下MySQL5.7.18二进制包安装(手动添加配置文件my_default.cnf)

    本文出处:http://www.cnblogs.com/wy123/p/6815049.html 最新在学习MySQL,纯新手,对Linux了解的也不多,因为是下载的最新版的MySQL(MySQL5. ...

  6. eclipse中添加配置文件夹config

    1. 在项目上右键->Build path->Configure Build Path->Source下的Add Folder,如图 2. 在弹出框中,Create New Fold ...

  7. C++中添加配置文件读写方法

    比如有一个工程,一些变量有可能需要不时的修改,这时候可以通过从配置文件中读取该数值,需要修改时只需要修改配位文件即可. 比如有一个这样的变量m_nTest; 我么可以写两个函数ReadConfig() ...

  8. maven项目添加配置文件

    1. 在src/main/resources下新建param.properties 2. 在param.properties文件中添加 mqtt.host=tcp://127.0.0.1:1883 m ...

  9. 为PO手写添加配置文件(hbm.xml)

随机推荐

  1. Python-爬虫小例子-55

    import re from urllib.request import urlopen def getPage(url): response = urlopen(url) return respon ...

  2. POJ - 1177 线段树

    POJ - 1177 扫描线 这道题也算是一道扫描线的经典题目了. 只不过这道题是算周长,非常有意思的一道题.我们已经知道了,一般求面积并,是如何求的,现在我们要把扫描线进行改造一下,使得能算周长. ...

  3. PS 制作彩色烟雾

  4. centos 7 network.service control process exited

    一.service network restart 出错 问题描述: vmware 12 下centos 7 网络模式,NAT 昨晚作者打算更新自己虚拟机python,发现没网络ping www.ba ...

  5. linux中mariadb的安装

    在Linux中mariaDB的安装 MariaDB其实就是MySQL的分支,是为了应对MySQL的即将的闭源风险所产生的. Linux系统中软件包的格式为mysql.rpm格式. 通过yum去安装 L ...

  6. Docker Compose vs. Dockerfile

    Docker Compose vs. Dockerfile - which is better? - Stack Overflowhttps://stackoverflow.com/questions ...

  7. JEECG&JWT异常捕获强化处理 | Java: Meaning of catch (final SomeException e)?

    //从header中得到token String authHeader = request.getHeader(JwtConstants.AUTHORIZATION); if (authHeader ...

  8. oracle导出用户下单表或者多表,导入到别的服务器用户下

      导出   exp 用户名/密码 file=存放dmp的名称的目录 statistics=none tables =(表名,表名,表名) exp creditfw/credit file=d:\te ...

  9. HDU 3900 Unblock Me

    题目:Unblock Me 链接:Here 题意:一个游戏,看图就基本知道题意了,特殊的是:1. 方块长度为3或2,宽度固定是1.2. 地图大小固定是6*6,从0开始. 3. 出口固定在(6,2).4 ...

  10. Python 基础之----网络编程

    阅读目录 一 客户端/服务端架构 二 osi七层 三 socket层 四 socket是什么 五 套接字发展史及分类 六 套接字工作流程 七 基于TCP的套接字 八 基于UDP的套接字 九 粘包现象 ...