首页 > 解决方案 > 无法在 IntelliJ 中获取资源文件的相对路径 - Java/Selenium

问题描述

我正在努力获取资源文件夹中文件的相对路径。我花了几个小时在其他线程中倾注并尝试其他解决方案,但都失败了,我不知道是否由于确切的语法错误,但我真的很感激一些关于确切写什么的帮助。附上截图

文件设置

我从我的类 TestRunner 运行我的测试,该类转到 PropertiesUtil 以让浏览器从 config.properties 文件中运行测试。

config.properties 文件位于资源文件夹中,但我无法使用相对路径访问配置文件。它绝对可以正常工作,但这意味着当其他人运行它时它会失败。

如果我尝试其他路径,我会收到错误消息:

2019-03-06 21:21:16 INFO  TestRunner - Before running
java.io.FileNotFoundException: config.properties (No such file or directory)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)

请帮忙!我已经花了太长时间坚持这一点。

结构体

按照建议尝试使用 ClassLoader 但这在 propertiesUtil 中不起作用,我也不太确定如何将它与我所拥有的一起编写(因为它抱怨静态/非静态)。在从 TestRunner 运行以尝试调试和理解时,它并没有给我太多有用的信息。 类加载器

我也尝试了我在其他地方看到的类似的东西。同样的问题: 非静态到静态错误

标签: javaintellij-idearelative-pathintellij-14

解决方案


尝试这样的事情。

   public static void readPropertiesFiles() {
        ClassLoader classLoader = PropertiesUtil.class.getClassLoader();
        String path = classLoader.getResource("config.properties").getPath();
        System.out.println(path);
    }

推荐阅读