基於Springboot的maven父子工程pom文件打包配置


父工程:

1. 只有一個pom文件,做一些統一的jar包版本管理

2. 打包方式pom

3. <modules>下管理子工程模塊

4. 創建時采用idea的maven構建

注意: 父工程pom可以不配置任何打包插件, 但如果配置的話一定不能有spring-boot-maven-plugin插件,否則這個插件就將傳遞到每一個子模塊中,打包會出錯

子工程-application主模塊:

1. 創建時采用idea的springboot構建

2. 打包方式指定jar

3. pom文件中必須引入spring-boot-maven-plugin打包插件,並且要配置將所依賴的jar包全都打到這一包中,如果在其他模塊中引入了spring-boot-maven-plugin將會每個模塊都單獨打成一個包,無法拉取到啟動類所在包中

 

 <build>詳細配置:

<build>
        <plugins>
            <!--打包插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 如果沒有該項配置devtools不會起作用,即應用不會restart -->
                    <fork>true</fork>
                    <!--支持靜態文件熱部署-->
                    <addResources>true</addResources>
                    <!-- 指定該Main Class為全局的唯一入口 -->
                    <mainClass>com.sky.boot.SkyBootApplication</mainClass>

                    <!-- spring-boot-maven-plugin這個插件打包的Jar包可以直接運行,但是不可依賴, 添加如下配置使其可被依賴 -->
                    <!--<classifier>execute</classifier>-->

                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--可以把依賴的包都打包到生成的Jar包中-->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>

        <!--打包規則,打包時將resources文件夾打包進去-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
            </resource>

            <!--保證mapper文件夾中的.xml文件可以被編譯-->
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

 

子工程-common模塊:

1. 創建時采用idea的maven或者springboot構建都可以

2. 子模塊一般就是一些通用工具類,不含有main主啟動類

3. 打包方式指定jar

4. pom中無需添加打包插件

 


免責聲明!

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



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