springboot打包去除资源文件,启动时指定配置文件位置,使用log4j2替换默认logback
springboot打包时,去掉资源文件
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>*.properties</exclude>
<exclude>*.xml</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
但这样配置后,在eclipse中启动springboot项目,则会出现读取不到配置资源的情况,所以在eclipse启动项目时,需要注释掉如下配置
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>*.properties</exclude>
<exclude>*.xml</exclude>
</excludes>
</resource>
</resources>
如果修改了pom文件之后,程序运行异常,如果使用eclipse,则可通过右键Maven -- Update Project更新下maven依赖,再次启动服务
启动时指定配置文件位置
项目打成jar包后,运行时,可将配置文件放入jar包同级目录下或者在同级的config目录下(放入classpath下或者classpath下config目录下也可以,但是打成jar包,就需要一起打包出来)
配置文件加载顺序为:
jar包同级目录下的config文件夹下配置
jar包同级目录下配置
classpath下config目录下配置
classpath下配置
java -Xms100m -Xmx100m -jar myboot001-0.0.-SNAPSHOT.jar &
也可指定加载配置文件的地址
java -Xms100m -Xmx100m -jar myboot001-0.0.1-SNAPSHOT.jar --spring.config.location=configs/application.properties --logging.config=./log4j2.xml >> /dev/null 2>&1 &
以DEBUG方式启动
java -Xms100m -Xmx100m -jar myboot001-0.0.-SNAPSHOT.jar --spring.config.location=configs/application.properties --debug
使用log4j2替换默认日志框架logback
添加log4j2日志框架依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
此时启动服务时,将会有如下提示

从日志记录看,依然使用的为logback日志,网上搜索了一些资料得知,需要排除掉默认的日志框架才会生效
本例使用了两个spring-boot-starter-data-redis和spring-boot-starter-jdbc依赖,且它们也都有日志框架的依赖,排除默认框架时,只需将写在最前面的starter依赖中添加排除默认日志框架的代码即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
或者添加如下依赖处理(位置不限)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
springboot打包去除资源文件,启动时指定配置文件位置,使用log4j2替换默认logback的更多相关文章
- redis启动时指定配置文件
Redis 启动时指定配置文件需要通过 redis 服务启动才行: 安装服务的教程:http://blog.csdn.net/justinytsoft/article/details/54580919 ...
- nginx启动时指定配置文件
下载源文件方式安装nginx 会在/usr/local目录下安装nginx 此时虚拟机系统中会有两个nginx 如果启动的时候没有指定配置文件的位置,默认读取的配置文件就是/usr/local/ngi ...
- 设置开机启动时指定非ROOT用户执行相应的脚本
[root@MSJTVL-MJSP-A01 sm01]# vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *afte ...
- 【转】QT中添加的资源文件qrc时的路径问题小结
@2019-06-13 [小记] QT中添加的资源文件qrc时的路径问题小结
- SpringBoot打包实现静态文件、配置文件、jar包分离
在pom文件里面添加 <plugins> <!--定义项目的编译环境--> <plugin> <groupId>org.apache.maven.plu ...
- SpringBoot读取静态资源文件
ClassPathResource resource = new ClassPathResource(publicKeyCer); File file = null; try { file = res ...
- springboot读取静态资源文件的方式
springboot的请求路径一般会经过Controller处理,但是静态资源文件在请求之后是直接返回的.这涉及到俩个配置项. spring.mvc.static-path-pattern=/** s ...
- springboot hikari 连接池 在启动时未初始化数据库连接问题
在启动Springboot 项目时 2019-11-18 21:32:38.223 INFO 1080 --- [on(4)-127.0.0.1] o.s.web.servlet.Dispatcher ...
- 解决: PyInstaller打包后exe文件打开时出现failed to execute script
def resource_path(self, relative): if hasattr(sys, "_MEIPASS"): return os.path.join(sys._M ...
随机推荐
- easyUI按钮图表对照大全
easyUI图标与对照类的对应关系:
- 定位公网丢包的工具 mtr
1.使用mtr工具,可以显示从本机到目的ip之间的沿途路由器,从而可以确定丢包的位置. 2.windows 系统,可以使用winmtr工具.
- Android 组件的三种点击事件写法
一.准备工作 1.项目结构 2.布局文件(activity_main.xml) <?xml version="1.0" encoding="utf-8"? ...
- 腾讯云Centos安装gitlab
参考了网上很多人写的安装教程,结果并不好,最后阅读了官方的英文api,才安装成功,这里记录下来,方便以后使用.我的安装环境为腾讯云主机Centos7.3 64bit gitlab官方api地址点我试试 ...
- Scala之Calendar,SimpleDateFormat简单用法
package com.dingxin.entrance import java.text.SimpleDateFormat import java.util.{Calendar, Date} /** ...
- win10系统中如何解决cmd中的路径和现在电脑的用户名不一致
假设原用户名老王,已删除,但是cmd后路径还是C:\Users\老王>,这与现在用户laowng不一致了需改为C:\Users\laowang>. .先新建一个管理员账户laowang,然 ...
- 对Can We MakeOperating SystemsReliable and Secure 的翻译
摘要:微内核-相对于大内核(monolithic kernels)来说,由于它的 lower performance,长期以来被认为是不可接受的.而现在,由于它潜 在的高可靠性(higher reli ...
- 手把手教你“将系统安装在U盘”上,实现个人系统随身带!
本教程纯原创,转载请标注来源. 本教程适用安装的操作系统:Win XP,Win 7,优麒麟,Ubuntu,deepin,linux. 优盘要求:最好是USB3.0,USB2.0也可以,但是优盘至少要求 ...
- June 14. 2018 Week 24th Thursday
Good friends, good books, and a sleepy conscience: this is the ideal life. 拥有益友.良书和一颗宁静的内心:这就是理想的生活. ...
- Java高级教程
目录 1.Java面向对象方法 1.1. 创建类和对象的方法 1.2. this的使用 1.3. 静态域和静态方法 1.3.1. 静态域:属于类的级别 1.3.2.静态常量 1.3.3 静态方法 1. ...