首页 > 其他 > 详细

关于idea问题设置bundle路径问题的一点想法

时间:2021-06-26 23:32:17      阅读:19      评论:0      收藏:0      [点我收藏+]

先上部分代码。

ResourceBundle rBundle = ResourceBundle.getBundle("settings/db");
url = rBundle.getString("urlPre") + rBundle.getString("host") + ":" + rBundle.getString("port") + "/" + rBundle.getString("database") + rBundle.getString("postfix");
driver=rBundle.getString("driverName");
username=rBundle.getString("username");
password=rBundle.getString("password");
// (已解决,需要放到resource root目录文件下)
// (查看形式:文件->项目结构->facets最下面有Resource Root)

这是已经修改好了的格式,当使用ResourceBundle.getBundle("db");语句通过写bundle配置文件形式来配置数据库连接时,明明已经将db.properties文件放在了src目录下,依然找不到该配置文件。
困扰了我大概一天时间,之后由于改各种路径的方式都试遍了,仍然找不到解决方案,所以采用另外的方式来获取配置文件。
方法一:通过FileInputStream()方法,
     或使用文件FileInputStream()方法
Properties prop = new Properties();
InputStream inputStream = new FileInputStream("src/db.properties");//这个路径对应的db.properties放在src目录下
prop.load(inputStream);
url = prop.getProperty("urlPre") + prop.getProperty("host") + ":" + prop.getProperty("port") + "/" + prop.getProperty("database") + prop.getProperty("postfix");
driver = prop.getProperty("driverName");
username = prop.getProperty("username");
password = prop.getProperty("password");

方法二:与法一类似,只是形式不太一样
InputStream inputStream = [Java文件类名].class.getClassLoader().getResourceAsStream("XXX.properties");

技术分享图片

 

配置文件位置同样放置在src目录下

 

通过这两种方法都能获取到配置文件对象,之后就开始继续写代码了。

然后由于某种强迫症的思想的驱使,我又开始搞这个ResourceBundle(),为什么就是找不到呢?

我右击文本编辑器的页面

发现了这样的几个路径

技术分享图片

 

 

 pom.xml就是Maven依赖的那个文件;

source root和resource root引起了我的强烈怀疑

由于我的Java Web项目是后来应用的maven依赖,所以其实我的src目录下是main目录和test目录

技术分享图片

 

 而main目录下又分java目录和resource目录

技术分享图片

 

 对于我的项目结构,source root会回到java目录,而resource root目录会回到resources目录。

我又把我的db.properties文件分别放到java和resources目录下进行测试,

当放到resources目录下时,奇迹发生了,db可以被识别到了。

我也不想再深究到底是为什么了。

我的解决方法是,若要让ResourceBundle.getBundle(“配置文件名(无后缀)”);被"find“,需要把配置文件放到resources目录下,即相对路径从resources目录开始。

 

技术分享图片

 

关于idea问题设置bundle路径问题的一点想法

原文:https://www.cnblogs.com/aiyyue/p/14934880.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!