如何添加一个文件/目录到IntelliJ项目的classpath中

35 篇文章 0 订阅
32 篇文章 0 订阅

java的properties文件需要放到classpath下面,这样程序才能读取到,有关classpath实际上就是java类或者库的存放 路径,在java工程中,properties放到class文件一块。在web应用中,最简单的方法是放到web应用的WEB-INF/classes 目录下即可,也可以放在其他文件夹下面,这时候需要在设置classpath环境变量的时候,将这个文件夹路径加到classpath变量中,这样也也可 以读取到。在此,你需要对classpath有个深刻理解,classpath绝非系统中刻意设定的那个系统环境变量,WEB-INF/classes其 实也是,java工程的class文件目录也是。


以下内容的背景:IntelliJ,Java项目。
在单元测试中,我们经常会使用与生产环境里不同的一些配置文件来为提供参数,而你的程序又是以类似下面的方法来读取配置文件:

1
2
3
String configFileName = "config.properties" ;
Properties properties = new Properties();
properties.load(MyClass. class .getClassLoader().getResourceAsStream(configFileName));

上面的代码中仅使用了配置文件名,而不是其完整路径,这就导致了可能在IntelliJ中运行一个单独的单元测试的时候,找不到该配置文件,因为你只提供文件名的话,该文件必须要在classpath中,否则是找不到它的。

所以,我们可以把该配置文件所在的目录添加到IntelliJ项目里的classpath中,让它可以在运行单元测试的时候找得到。方法如下(一图胜千言,直接看下面的演示图就明白了):
文章来源:http://www.codelast.com/
点击菜单File→Project Structure,进入“Project Structure”对话框,点击左侧的“Modules”,然后点击中部的“Dependencies”tab,然后再点击右部的“+”号添加你指定的目录,这里要注意了,在弹出的“Attach Files”对话框中,你必须要选择“classes”(如图所示)。最后,把目录添加进来之后,再把它们对应的“Scope”设置为“Test”,表示在测试中会依赖这个目录,即可。
add a file or directory to the classpath of an IntelliJ Java project
图片可保存下来放大查看。

以上方法在IntelliJ 12.0.4中亲测通过,对于其他版本的IntelliJ也应该类似。

【补充】
12.1.4版的IntelliJ与上面的图略有不同。在点击了“+”号之后,会弹出一个菜单:

add menu

选择“Jars or directories...”,然后会弹出对话框让你选择目录或文件,选择好之后,和上面一样,要选择“classes”,后面的操作也一样了。

来自:http://www.codelast.com/%E5%8E%9F%E5%88%9B%E5%A6%82%E4%BD%95%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E7%9B%AE%E5%BD%95%E5%88%B0intellij%E9%A1%B9%E7%9B%AE%E7%9A%84classpath%E4%B8%AD/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VCHH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值