gpt4 book ai didi

java - Maven onejar插件,获取属性文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:17 24 4
gpt4 key购买 nike

我正在使用 Maven onejar 插件 ( https://code.google.com/p/onejar-maven-plugin/ ) 创建一个 uberjar。

我想访问位于类路径根目录中的属性文件,如下所示:

Properties prop = new Properties();

try {
prop.load(new FileInputStream("Db.properties"));

driver = prop.getProperty("driver");
url = prop.getProperty("url");
username = prop.getProperty("username");
password = prop.getProperty("password");

} catch (IOException ex) {
LOG.debug(ex.toString());
}

conn = null;

我的 log4j.properties 文件位于同一目录中,因为我可以进行日志记录...我的问题是什么? :/但没有找到 Db.properties。

最佳答案

FileInputStream用于从文件系统上的文件加载资源。 jar 内的文件不在文件系统上。您需要使用不同的 InputStream .

对于本例,使用 ClassLoader#getResourceAsStream(String)方法将被建议。它返回在类路径上找到的 InputStream 资源。像这样的东西:

InputStream is = getClass().getClassLoader().getResourceAsStream("/Db.properties");

应该可以工作。或者为了方便起见:

InputStream is = getClass().getResourceAsStream("/Db.properties");

值得注意的是,log4j.properties 起作用的原因是 Log4j 在设计上可以加载根类路径中的配置文件。

关于java - Maven onejar插件,获取属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15576985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com