需求
背景
公司提供了一套通用的JAVA基础组件包,希望可以通过promethus来监控现在公司内使用各版本代码库的比例,以及各版本代码库的使用情况。
这有利于我们做版本兼容,必要的时候可以对古早版本使用者溯源。
问题
需求似乎很简单,但真要获取自身的jar版本号还是挺麻烦的,有个比较简单但阴间的办法,就是给每一个组件都加上当前的jar版本号,写到配置文件里或者直接设置成常量,这样上报promethus时就可以直接获取到jar包版本号了,这个方法虽然可以解决问题,但每次迭代版本都要跟着改一遍所有组件包的版本号数据,过于麻烦。
有没有更好的解决办法呢?比如我们可不可以在gradle打包构建时拿到jar包的版本号,然后注入到每个组件中去呢?就像lombok那样,不需要写get、set方法,只需要加个注解标记就可以自动注入get、set方法。