为了账号安全,请及时绑定邮箱和手机立即绑定

java单元测试时jar读取项目中properties?

java单元测试时jar读取项目中properties?

繁星coding 2018-10-15 21:17:12
我的项目中引用同事的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条就比较重要了,可能会影响到一些问题。

读取配置的时机,按理说既然是配置文件了,应当在类加载时读取,但如果题主有手动控制这一过程,也请说一声


查看完整回答
反对 回复 2018-11-09
  • 1 回答
  • 0 关注
  • 1375 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信