有段时间没用Intellij了 ,昨天从github上下载了一个项目学习下,结果在启动的时候一直报错
java.io.FileNotFoundException: conf\config.properties (系统找不到指定的路径。)
这就是那段报错的代码
private static Properties props = new Properties(); public static void load() { try { File file=new File("conf/config.properties"); props.load(new FileReader(file)); } catch (Exception e) { logger.error("加载配置文件异常", e); } }
文件路径和名字都没错,可就是死活加载不了.
查了老久的google,baidu.最后看到这一篇文章
大致意思让我们自行比对下文件的绝对路径和当前路径
File file=new File("conf/config.properties"); System.out.println(file.getAbsolutePath()); System.out.println(System.getProperty("user.dir"));
打印结果为:
D:\intellij_Projects\protobuf-rpc\conf\config.properties D:\intellij_Projects\protobuf-rpc
粗看貌似没什么问题,但是在仔细看看路径,好像短了点,问题就在这里.怎么是Project的路径
还记得刚刚接触Intellij的时候,很多文章都有这样类似的理解:
--IntelliJ IDEA中的Project,并不是真正的project,它其实跟eclipse中的workspace、visual studio中的solution是一个概念 --在IntelliJ IDEA里面“new Project”就相当于我们eclipse的“workspace”,而“new Module”才是创建一个工程
然后我再看看启动项配置,果然路径指到的是Project上面了,难怪会找不到要加载的conf文件
让我们来修改下:
选择MODULE_DIR,也就是设置工作路径为当前模块的路径
保存,再一次启动,就可以了
让各位见笑了 :)