我的项目中引用同事的jar,这个jar中读取了我项目中的properties,我的properties里的value是从pom中获取的,这时问题出现了 jar只能读取properties中pom还没有注入时的value,也就是${value}形式。但我项目中自身的获取properties的代码可以成功获取pom注入后... 我的项目中引用同事的jar,这个jar中读取了我项目中的properties,我的properties里的value是从pom中获取的,这时问题出现了 jar只能读取properties中pom还没有注入时的value,也就是${value}形式。但我项目中自身的获取properties的代码可以成功获取pom注入后的value。这是什么问题?两个现象的区别就是一个是从jar中获取,一个是本地程序获取。
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
猜了半天也没搞懂,我想确认一下
jar中的类无法读取是读不到值还是读到一个注入前的值,例如'${value}'
题主是否在开发WEB项目?能否确定jar文件中的类与项目中读取配置的类同由一个ClassLoader加载?
题主项目读取properties的方式是基于文件系统(比如用File)还是resource流(例如Class.getResourceAsStream),我猜后者可能性较高(因为使用文件系统会在项目整体打包后造成麻烦),那么我问的第2条就比较重要了,可能会影响到一些问题。
读取配置的时机,按理说既然是配置文件了,应当在类加载时读取,但如果题主有手动控制这一过程,也请说一声
添加回答
举报
0/150
提交
取消