Java Maven onejar插件,获取属性文件
我正在使用Maven onejar插件()创建一个uberjar 我想访问类路径根目录中的属性文件,如下所示:Java Maven onejar插件,获取属性文件,java,maven,uberjar,Java,Maven,Uberjar,我正在使用Maven onejar插件()创建一个uberjar 我想访问类路径根目录中的属性文件,如下所示: Properties prop = new Properties(); try { prop.load(new FileInputStream("Db.properties")); driver = prop.getProperty("driver"); url = prop.getProper
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。用于从文件系统上的文件加载资源。jar中的文件不在文件系统中。你需要使用不同的方法
对于这种情况,建议使用该方法。它返回在类路径上找到的InputStream资源。比如:
InputStream is = getClass().getClassLoader().getResourceAsStream("/Db.properties");
应该有用。或为方便起见:
InputStream is = getClass().getResourceAsStream("/Db.properties");
需要注意的是,log4j.properties
之所以有效,是因为log4j通过设计可以加载根类路径中的配置文件。用于从文件系统上的文件加载资源。jar中的文件不在文件系统中。你需要使用不同的方法
对于这种情况,建议使用该方法。它返回在类路径上找到的InputStream资源。比如:
InputStream is = getClass().getClassLoader().getResourceAsStream("/Db.properties");
应该有用。或为方便起见:
InputStream is = getClass().getResourceAsStream("/Db.properties");
值得注意的是,
log4j.properties
之所以有效,是因为log4j通过设计可以加载根类路径中的配置文件。Db.properties打包在jar中了吗?是的,我打开了我的remement.one-jar.jar->main->remement.jar,在这个jar文件中,我的Db.properties文件与log4j.properties Db.properties打包在同一路径中jar?是的,我正在打开我的remention.one-jar.jar->main->remention.jar,在这个jar文件中是我的Db.properties文件,路径与log4j.propertiesMh相同。。。它仍然不起作用。。InputStream i=getClass().getResourceAsStream(“Db.properties”);试试{prop.load((FileInputStream)i);我知道了!我在Db.properties前面加了一个斜杠!谢谢你。Mh…它仍然不起作用..InputStream i=getClass().getResourceAsStream(“Db.properties”);试试{prop.load((FileInputStream)i);我知道了!我在Db.properties前面加了一个斜杠!谢谢你。