最近遇到一个问题,用git运行build.sh通过maven插件打包java程序为jar包。在修改property配置文件后,重新运行jar,发现打印的日志里面的配置文件值并没有修改。

    几经实验发现,在工程目录下有个resources文件,存放配置文件。如果把配置文件放在resources文件夹中,打包出来,修改配置文件就无效了。

     

    这是因为maven打包的时候,会将resources中的文件一起打包到jar包中。程序在读取配置文件时,不会再读取jar包同级的配置文件。如图,配置文件被打到jar包里面:

 

    解决方法,把配置文件从resources文件夹取出来,放到其他地方再打包,这时修改jar包同级的配置文件,就生效了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐