网站需要更新的频率,网站系统网站开发,昆明企业网站制作公司,wordpress商城主体最近搞个开源工具#xff0c;涉及到配置问题。
举例
有个应用A工具#xff0c;打成jar给人用。应用B引用了A的jar A应用里resources/sys.properties文件里有个coreSize1
B引用了A#xff0c;期望修改coreSize的值#xff0c;改成2
开始天真以为#xff0c;B应用里有同…最近搞个开源工具涉及到配置问题。
举例
有个应用A工具打成jar给人用。应用B引用了A的jar A应用里resources/sys.properties文件里有个coreSize1
B引用了A期望修改coreSize的值改成2
开始天真以为B应用里有同样文件同样resources/sys.properties文件里有个coreSize2。
这样不就能覆盖A中配置了吗 结果呢
测试下来发现
A中类里 Value(${coreSize}) 的值是1
B中类里Value(${coreSize}) 的值是2
这说明似乎是各自取各自的配置。 实验二
将A中配置文件sys.properties去掉重新deploy下。
再启动B应用打印发现
A中类里 Value(${coreSize}) 的值是2
B中类里Value(${coreSize}) 的值是2
这说明jar中不存在了依然会取上层应用的配置 实验三
将A中配置文件sys.properties去掉Value(${coreSize:1}) 重新deploy下。
再启动B应用打印发现
A中类里 Value(${coreSize}) 的值是1
B中类里Value(${coreSize}) 的值是2
这说明jar中只要有一个存在的就不会取上层的。 总结
怎么才能做到一个工具jar别人用的时候如果有配置就覆盖没有就取默认呢
似乎只能自己写代码读取文件不依赖Value