最近要做个东西,需要自己控制数据库的事物,项目封装的框架,实在是提不起去阅读的兴趣,

就想直接去读框架的底层实现里面的数据连接的配置文件(如:Url,port,username,password等),

使用JDBC创建数据连接,拿到Connection后,事物就好办了。

找到在一个A.jar包里面的根目录,有配置文件B.properties,里面有需要的配置。

难点就来了,Properties可以加载src下面的properties文件,直接prop.load(this.getClass().getResourceAsStream("/B.properties"))就可以,

那在其他的jar包下面的properties文件的路径怎么表示???

经过测试发现,第三方jar包的根目录和src是同一个目录(当然,要这个jar包在classpath里面才行( ⊙ o ⊙ )啊)。

我的测试是在eclipse里面进行的,在项目的classpath里面加入A.jar包,jar包里面只有一个B.properties文件

在测试代码中,直接使用prop.load(this.getClass().getResourceAsStream("/B.properties")) 也是可以加载到B.properties文件的。

得到结论,第三方jar相对于项目的目录就类似于,把jar包里面的文件(文件夹)直接放在项目的src下面。

如果要加载A.jar包里面的“/resource/C/D/E.xml”,就是 this.getClass().getResourceAsStream("/resource/C/D/E.xml");

当然不要使用FileInputSteam("/resource/C/D/E.xml")是读不到的(⊙o⊙)哦

 

(注:个人观点,仅供参考)

posted on 2016-05-11 22:11  Flink菜鸟  阅读(13121)  评论(0编辑  收藏  举报