我是Maven的新手并使用maven构建项目并尝试从src / test / resources文件夹加载config.properties文件。我试着在我的问题上搜索解决方案,但截至目前还没有成功。有人可以帮我吗?
我的项目结构是这样的:
ProjectName
--- src/test/java
--- utilities
----utilities.java
---getProperty()
----src/test/resources
----Configuration
---config.properties
pom.xml包含
<build>
<resources>
<resource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
获取配置文件的代码:
public class utilities()
{
public void getProperty()
{
Properties prp=new Properties();
String propFilePath = "src/test/resources/Configuration/config.properties";
String[] tmpArray = propFilePath.split("/");
String propFileName=tmpArray[tmpArray.length - 1];
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream inputStream = loader.getResourceAsStream(propFileName);
if (inputStream != null)
{
prp.load(inputStream);
}
}
}
尝试了很多选项,但仍然得到找不到文件异常:在类路径中找不到属性文件'config.properties' 注意:如果我正在使用src / main / resources中的config.properties文件(maven的默认位置)。它工作正常
请帮帮我。在此先感谢!!
答案 0 :(得分:0)
假设此文件已正确复制到运行时类路径,则可按如下方式解决:
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream inputStream = loader.getResourceAsStream("Configuration/config.properties");
但是......
InputStream inputStream = loader.getResourceAsStream("config.properties")
而非InputStream inputStream = loader.getResourceAsStream("Configuration/config.properties")