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包外置配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot整合持久层之JdbcTemplate多数据源

    Spring Boot整合持久层之JdbcTemplate多数据源

    持久层是JavaEE中访问数据库的核心操作,SpringBoot中对常见的持久层框架都提供了自动化配置,例如JdbcTemplate、JPA 等,MyBatis 的自动化配置则是MyBatis官方提供的。接下来分别向读者介绍Spring Boot整合这持久层技术中的整合JdbcTemplate
    2022-08-08
  • Mybatis映射文件规则实例详解

    Mybatis映射文件规则实例详解

    在映射文件当中,mapper元素是映射文件的根元素,其他的标签都是它的子元素,下面这篇文章主要给大家介绍了关于Mybatis映射文件规则的相关资料,需要的朋友可以参考下
    2022-04-04
  • mybatis升级mybatis-plus时踩到的一些坑

    mybatis升级mybatis-plus时踩到的一些坑

    这篇文章主要给大家介绍了关于mybatis升级mybatis-plus时踩到的一些坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • java彩色瓷砖编程题分析

    java彩色瓷砖编程题分析

    这篇文章主要介绍了java彩色瓷砖编程题的详细解题思路以及解决方法分享,对此有兴趣的参考下。
    2018-02-02
  • SpringBoot中@Conditional注解的使用

    SpringBoot中@Conditional注解的使用

    这篇文章主要介绍了SpringBoot中@Conditional注解的使用,@Conditional注解是一个条件装配注解,主要用于限制@Bean注解在什么时候才生效,以指定的条件形式控制bean的创建,需要的朋友可以参考下
    2024-01-01
  • Mybatis分页插件PageHelper的分页原理剖析

    Mybatis分页插件PageHelper的分页原理剖析

    这篇文章主要介绍了Mybatis分页插件PageHelper的分页原理剖析,PageHelper作为一个启动器,那么就和其他启动器加载一样,先读取spring.factories文件里面配置的类,转成Bean加载本系统中,然后执行他的前置后置处理方法,完成初始化,需要的朋友可以参考下
    2023-08-08
  • Java 超详细讲解数据结构中的堆的应用

    Java 超详细讲解数据结构中的堆的应用

    堆首先是一个完全二叉树,堆分为小根堆和大根堆。小根堆,所有结点的左右子节点都不小于根节点;大根堆,所有结点的左右子节点都不大于根节点。优先级队列(priorityQueue)底层就是一个小根堆
    2022-04-04
  • protobuf与json转换小结

    protobuf与json转换小结

    protobuf对象不能直接使用jsonlib去转,因为protobuf生成的对象的get方法返回的类型有byte[],而只有String类型可以作为json的key,protobuf提供方法进行转换
    2017-07-07
  • JavaWeb动态导出Excel可弹出下载

    JavaWeb动态导出Excel可弹出下载

    这篇文章主要介绍了JavaWeb动态导出Excel,对Excel可弹出进行下载操作,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 详解Java中Dijkstra(迪杰斯特拉)算法的图解与实现

    详解Java中Dijkstra(迪杰斯特拉)算法的图解与实现

    Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。本文将详解该算法的图解与实现,需要的可以参考一下
    2022-05-05

最新评论