1. 程式人生 > >springboot打包與配置檔案外接

springboot打包與配置檔案外接

目標:

1.將普通的MAVEN JAVA工程打包成SpringBoot可執行的jar包

2.將application.yml和log4j2.xml

1.打包

SpringBoot專案打包要求將依賴的jar全部打進去,因為SpringBoot的自動配置需要用到裡面的spring.factory檔案,該檔案是自動配置的關鍵步驟之一

如果在IDEA或者ECLPSE裡面使用直接建立SpringBoot工程,然後打包即可完成上面的需求,但我是在Idea裡面建立的普通MAVEN工程,然後打包依賴的任何JAR都沒有打進去

然後百度了半天,分享一下:

在<build></build>標籤中新增如下配置

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.5.9.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

執行打包操作

打包出來結果

檢視打包內部結果

配置檔案外接

在pom.xml檔案中的<build></build>增加如下內容

<resources>
    <resource>
        <directory>src\main\resources</directory>
        <excludes>
            <exclude>application.yml</exclude>
            <exclude>log4j2.xml</exclude>
        </excludes>
    </resource>
</resources>

重新打包

對比發現application.yml和log4j2.xml沒有在jar包中

啟動測試

java -jar provider-1.0.0.jar --logging.config=./log4j2.xml

啟動正常

日誌也正常輸出

結束