SpringBoot + Maven 打包

項目需要很多外部jar包,通過安裝到本地太麻煩,最好是maven可以幫我們把依賴包一起打進去,下面看下具體配置

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!-- compile with lib -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArgs> 
                        <!-- maven3.1以上建議用-->
                        <arg>-extdirs</arg> 
                        <arg>${project.basedir}/lib</arg>
                    </compilerArgs> 
                </configuration>
            </plugin>
        </plugins>
        <!-- 加入lib中的jar -->
        <resources>  
            <resource>  
                <directory>lib</directory>  
                <targetPath>BOOT-INF/lib/</targetPath>  
            </resource>
            <resource>  
                <directory>src/main/resources</directory>  
                <targetPath>BOOT-INF/classes/</targetPath>  
            </resource>
        </resources>
    </build>

這裏我在項目中創建lib文件夾,與src平級。
在配置文件中:

<extdirs>${project.basedir}/lib</extdirs>

用來指定lib,這裏的配置保證編譯的時候可以找到jar包。${project.basedir}表示項目目錄,如果不加入Linux下可能會找不到jar包(沒有測試過)。

後面的resources部分保證發佈之後可以找到jar。
第一個resource,表示將lib文件加入到BOOT-INF/lib/下,不知道BOOT-INF路徑在哪的同學可以等下打好包之後,打開jar包看看裏邊的結構。這裏的includes是表示將所有文件下的所有jar包都打入jar包中,如果你只要引入lib下的jar包,可以不用寫includes部分;如果還有別的文件夾下的jar需要打入jar包,則可以寫成

<includes>  
    <include>**/*.jar</include> 
</includes>

(這裏的**寫具體的路徑怎麼寫?)

沒有第二個resource,則不會將src/main/resources下的配置文件打入包內(親測)。

最後附上項目結構

項目目錄結構

參考:
http://blog.csdn.net/mayp1/article/details/53996402

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章