spring boot maven打包可執行jar包缺少依賴包的問題


問題描述:spring boot使用maven的package命令打出來的包,卻不包含依賴的jar包

問題原因:打包時使用了maven默認的maven-jar-plugin插件,而不是spring-boot-maven-plugin插件

解決方法:

方法1. pom中必須配置spring-boot-maven-plugin插件,而且必須指定需要執行的目標構建

<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring.boot.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

方法2. 使用spring的parent來進行依賴管理,則不用指定執行構建的目標

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.6.RELEASE</version>
</parent>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>${spring.boot.version}</version>
        </plugin>
    </plugins>
</build>

注:請避免直接使用mvn repackage命令,因為repackage依賴原生maven的package命令,直接執行repackage無法獲取依賴,會導致打包失敗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM