1. 程式人生 > 其它 >基於Springboot的maven父子工程pom檔案打包配置

基於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中無需新增打包外掛