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.1-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.1-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>