Java 如何访问位于项目文件夹外部和项目类路径外部的.properties文件?

Java 如何访问位于项目文件夹外部和项目类路径外部的.properties文件?,java,jakarta-ee,properties,inputstream,java-ee-6,Java,Jakarta Ee,Properties,Inputstream,Java Ee 6,我在尝试检索位于项目根目录之外的config.properties文件时遇到以下问题 所以我遇到了这样的情况: CONTAINER DIRECTORY | | |------> config.properties | | |------>PROJECT-ROOT | | | |------&

我在尝试检索位于项目根目录之外的config.properties文件时遇到以下问题

所以我遇到了这样的情况:

CONTAINER DIRECTORY
     |
     |
     |------> config.properties
     |
     |
     |------>PROJECT-ROOT
                 |
                 |
                 |
                 |------> src
                     |
                     |
                     |------> mainPkg (the package name)
                                 |
                                 |
                                 |------> Main (the main class containing the main() method)
getClass().getClassLoader().getResources("config.properties");
从位于main类内部的main()方法,我必须访问与项目根文件夹处于同一级别(并且在项目类路径之外)的config.properties文件

我必须使用相对路径,所以我必须这样做:从项目中的一个文件夹开始,我必须返回到容器目录,这里是config.properties文件


我怎么做?(我在Windows环境下)

我认为,在您的情况下,最好使用您的类提供的

它应该是这样工作的:

CONTAINER DIRECTORY
     |
     |
     |------> config.properties
     |
     |
     |------>PROJECT-ROOT
                 |
                 |
                 |
                 |------> src
                     |
                     |
                     |------> mainPkg (the package name)
                                 |
                                 |
                                 |------> Main (the main class containing the main() method)
getClass().getClassLoader().getResources("config.properties");
唯一的问题是,不能用main这样的静态方法编译代码。 如果要在静态方法中运行,应将其更改为:

Main.class.getClassLoader().getResources("config.properties");