springboot jar包外置配置文件的解决方法

 更新时间:2020年12月16日 14:23:24   作者:左直拳  
这篇文章主要给大家介绍了关于spring boot jar包外置配置文件的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

为什么要搞个解决方案呢?按照网上教程,spring boot项目中,配置文件有优先级,其中,放在根目录下的config文件夹中优先级最高;根目录下次之;然后是resources/config/;resources/下优先级最低。而加载顺序刚好反过来,resources/下最先加载,而/config/最后加载。然后在命令行方式下,指定一下这个配置文件的路径,就可以了,云云。

也许事实就是如此的吧,但我试来试去,总不成功,系统死活都要读resources/下,这个优先级最低的配置文件。

这对于用 jar包 方式运行的项目来说,就很痛苦了。每次部署的时候,都要将里面的配置文件替换,非常繁琐。我不知道为什么我的JAR包用不了外置配置文件,也许是代码里含有

@PropertySource(value = "classpath:myconfig.properties",encoding = "UTF-8")

这样的语句;

又或许是含有

@Scheduled(cron = "${ins.ship-interval}")

这样的语句。说起来也是心累,搞不清这里面的加载顺序。

一时之间没法解决,所以先换一种方式,每次运行系统前,用jar命令,将相应的配置文件替换jar包里的。

命令如下:

#将当前目录下 BOOT-INF/classes/application.properties 替换 jar包里 BOOT-INF/classes/application.properties
#这个命令也是醉了,为啥源文件与目标文件路径要一致呢,可能是为了简单吧
jar uf spider-0.0.1-SNAPSHOT.jar BOOT-INF/classes/application.properties

#好了,可以放心运行了
java -jar spider-0.0.1-SNAPSHOT.jar

简单粗暴,但还可以用。

到此这篇关于springboot jar包外置配置文件解决方法的文章就介绍到这了,更多相关springboot jar包外置配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • idea修改maven模块名称还显示老名称问题解决

    idea修改maven模块名称还显示老名称问题解决

    本文主要介绍了idea修改maven模块名称还显示老名称问题解决,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • Java类初始化和实例化中的2个“雷区”

    Java类初始化和实例化中的2个“雷区”

    这篇文章主要介绍了Java类初始化和实例化中的2个“雷区”,大家要注意,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • java Scanner类的使用示例代码

    java Scanner类的使用示例代码

    这篇文章主要介绍了java Scanner类的使用,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器,感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • JavaScript中的closest方法示例详解

    JavaScript中的closest方法示例详解

    这篇文章主要介绍了JavaScript中closest方法的相关资料,closest()是JavaScript中的一个非常实用的 DOM 方法,用于查找与当前元素匹配的最近的祖先元素,它支持 CSS 选择器,可以应用于事件委托、动态内容处理等场景,需要的朋友可以参考下
    2025-02-02
  • eclipse/IDEA配置javafx项目步骤(图文教程)

    eclipse/IDEA配置javafx项目步骤(图文教程)

    这篇文章主要介绍了eclipse/IDEA配置javafx项目步骤(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java8 LocalDateTime极简时间日期操作小结

    Java8 LocalDateTime极简时间日期操作小结

    这篇文章主要介绍了Java8-LocalDateTime极简时间日期操作整理,通过实例代码给大家介绍了java8 LocalDateTime 格式化问题,需要的朋友可以参考下
    2020-04-04
  • Java中List与数组之间的相互转换

    Java中List与数组之间的相互转换

    在日常Java学习或项目开发中,经常会遇到需要int[]数组和List列表相互转换的场景,然而往往一时难以想到有哪些方法,最后可能会使用暴力逐个转换法,往往不是我们所满意的,下面这篇文章主要给大家介绍了关于Java中List与数组之间的相互转换,需要的朋友可以参考下
    2023-05-05
  • Java利用for循环打印菱形的实例教程

    Java利用for循环打印菱形的实例教程

    这篇文章主要给大家介绍了关于Java利用for循环打印菱形的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • MyBatis Generator快速生成实体类和映射文件的方法

    MyBatis Generator快速生成实体类和映射文件的方法

    这篇文章主要介绍了MyBatis Generator快速生成实体类和映射文件的方法,通过示例代码介绍了MyBatis Generator 的使用,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 关于log4j2的异步日志输出方式

    关于log4j2的异步日志输出方式

    这篇文章主要介绍了关于log4j2的异步日志输出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论