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

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

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”,后面的操作也一样了。

文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):

wechat qrcode of codelast

发表评论