Java 如何访问位于项目文件夹外部和项目类路径外部的.properties文件?
我在尝试检索位于项目根目录之外的config.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 | | | |------&
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");