服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - JAVA教程 - Spring Boot 把配置文件和日志文件放到jar外部

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

2021-04-07 13:35Java之家 JAVA教程

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

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

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

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

?
1
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注解。

?
1
2
3
4
5
6
7
8
@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的时候排除文件

?
1
2
3
4
5
6
7
8
9
<resources>
  <resource>
    <directory>src/main/resources</directory>
    <excludes>
      <exclude>*.properties</exclude>
      <exclude>logback.xml</exclude>
    </excludes>
  </resource>
</resources>

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

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

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

?
1
2
// 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并发编程之ThreadLocal类

    实例讲解Java并发编程之ThreadLocal类

    这篇文章主要介绍了实例讲解Java并发编程之ThreadLocal类,本文给出了模拟ThreadLocal、实用ThreadLocal等代码实例,需要的朋友可以参考下 ...

    junjie3492019-12-16
  • JAVA教程老生常谈JVM的内存溢出说明及参数调整

    老生常谈JVM的内存溢出说明及参数调整

    下面小编就为大家带来一篇老生常谈JVM的内存溢出说明及参数调整。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Java之家5052020-08-30
  • JAVA教程Java发展史之Java由来

    Java发展史之Java由来

    本文主要给大家简单讲解了一下java的发展史,详细说明了java的由来以及如何一步步发展起来的,想了解的小伙伴可以来参考下 ...

    kaige1232462020-06-21
  • JAVA教程java定义数组的三种类型总结

    java定义数组的三种类型总结

    下面小编就为大家带来一篇java定义数组的三种类型总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    java教程网1952020-06-20
  • JAVA教程详解Spring Aop实例之AspectJ注解配置

    详解Spring Aop实例之AspectJ注解配置

    本篇文章主要介绍了详解Spring Aop实例之AspectJ注解配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    龙轩2742020-09-06
  • JAVA教程SpringMVC+Mysql实例详解(附demo)

    SpringMVC+Mysql实例详解(附demo)

    本篇文章主要介绍了SpringMVC+Mysql实例详解(附demo),小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    浮云中的毛驴2672020-07-11
  • JAVA教程IDEA中切换不同版本的JDK的详细教程(超管用)

    IDEA中切换不同版本的JDK的详细教程(超管用)

    这篇文章主要介绍了IDEA中切换不同版本的JDK的详细教程(超管用),本文通过步骤详解给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,...

    小小探索者4102020-09-10
  • JAVA教程Spring事务失效的几种原因

    Spring事务失效的几种原因

    在日常编码过程中常常涉及到事务,在前两天看到一篇文章提到了Spring事务,那么在此总结下在Spring环境下事务失效的几种原因....

    边锋4482020-09-16