Spring Boot 把配置文件和日志文件放到jar外部

 更新时间:2018年02月27日 10:14:09   投稿:mrr  
如果不想使用默认的application.properties,而想将属性文件放到jar包外面,怎么做呢?下面小编给大家带来了两种方法解决Spring Boot 把配置文件和日志文件放到jar外部问题,感兴趣的朋友一起看看吧

如果不想使用默认的application.properties,而想将属性文件放到jar包外面,可以使用如下两种方法:

只能设置全路径。因为Java -jar运行jar包时,无法指定classpath(无论通过参数还是环境变量,设置的classpath都会被覆盖)。

方法1:命令行传参指定spring.config.location

java -jar -Dspring.config.location=D:\zTest\config\config1.properties springbootrestdemo-0.0.1-SNAPSHOT.jar 

还可以用spring.config.location指定路径,这样会在这个路径中去寻找application-{profile}.properties

还可以用spring.config.location指定路径,然后用spring.config.name指定配置文件名字。

可以用逗号隔开,指定多个路径和名字

方法2:使用@PropertySource注解。

@SpringBootApplication
@PropertySource(value={"file:D:/zTest/config/config1.properties"})
public class SpringbootrestdemoApplication {

  public static void main(String[] args) {
    SpringApplication.run(SpringbootrestdemoApplication.class, args);
  }
}

下面看下Spring Boot 配置文件和日志文件放到jar之外

1.设置打包jar的时候排除文件

<resources>
  <resource>
    <directory>src/main/resources</directory>
    <excludes>
      <exclude>*.properties</exclude>
      <exclude>logback.xml</exclude>
    </excludes>
  </resource>
</resources>

2.启动的时候传入参数指定位置

java -jar xxx.jar --spring.config.location=D:\springconfig\ --logging.config=D:\springconfig\logback.xml

springboot 默认找配置文件的位置如下

 // Note the order is from least to most specific (last one wins)
private static final String DEFAULT_SEARCH_LOCATIONS = "classpath:/,classpath:

总结

以上所述是小编给大家介绍的Spring Boot 把配置文件和日志文件放到jar外部,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Java中的注解与注解处理器

    Java中的注解与注解处理器

    这篇文章主要介绍了Java中的注解与注解处理器,元注解的作用是负责注解其他注解, Java5.0定义了4个标准的meta-annotation(元注解)类型,它们被用来提供对其它注解类型进行说明,需要的朋友可以参考下
    2023-11-11
  • Java回调机制解读

    Java回调机制解读

    本文主要介绍了Java回调机制的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Java 用Prometheus搭建实时监控系统过程详解

    Java 用Prometheus搭建实时监控系统过程详解

    这篇文章主要介绍了用Prometheus搭建实时监控系统过程详解之上帝之火,普罗米修斯的崛起,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 使用Java获取linux和window序列号

    使用Java获取linux和window序列号

    这篇文章主要为大家详细介绍了如何使用Java获取Windows和Linux系统上的CPU序列号、磁盘、mac地址等信息,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • springboot后端解决跨域问题

    springboot后端解决跨域问题

    今天小编就为大家分享一篇关于springboot后端解决跨域问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • IntelliJ IDEA 2022.1.1 沒有CVS的过程分析

    IntelliJ IDEA 2022.1.1 沒有CVS的过程分析

    这篇文章主要介绍了IntelliJ IDEA 2022.1.1 沒有CVS的过程解析,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Spring中的循环依赖详解

    Spring中的循环依赖详解

    这篇文章主要介绍了Spring中的循环依赖详解,  Spring 框架是一个流行的Java应用程序框架,它提供了许多强大的功能,如依赖注入和面向切面编程,然而在使用 Spring 框架时,我们可能会遇到循环依赖的问题,需要的朋友可以参考下
    2023-09-09
  • Java多线程:生产者与消费者案例

    Java多线程:生产者与消费者案例

    这篇文章主要介绍了Java并发编程中的生产者与消费者模型简述,多线程并发是Java编程中最终要的部分之一,需要的朋友可以参考下,希望能给你带来帮助
    2021-07-07
  • JAVA代码书写规范汇总详解

    JAVA代码书写规范汇总详解

    这篇文章主要介绍了JAVA代码书写规范汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Java四种权限修饰符知识点详解

    Java四种权限修饰符知识点详解

    在本篇文章里小编给大家分享的是关于Java四种权限修饰符知识点详解内容,需要的朋友们可以参考下。
    2020-05-05

最新评论