目录
  • 1、说明
  • 2、注意事项

1、说明

项目开发过程中,我们会构建多模块maven工程。例如结构如下springboot工程。其中,绿色模块需要构建成可执行.jar包文件,红色模块是底层抽象模块被绿色模块引用。

maven多模块打包注意事项详解

  • 执行maven打包,idea终端切换到goon-dance目录执行命令:

mvn clean package -Dmaven.test.skip=true

2、注意事项

(1) 最外层pom(上图中goon-dance层级)不需要配置maven插件信息。配置也只能配置<pluginManagement>信息。

          ....
            <!--swagger3-->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-boot-starter</artifactId>
                <version>${swagger.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

(2)被引用的红色模块pom文件也不需要配置maven插件信息。

(3)当最外层pom中继承:spring-boot-starter-parent时,只需要在打包成可执行文件的pom中添加spring-boot-maven-plugin插件即可

  • goon-dance 中的pom
    <!--springboot版本-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.7.RELEASE</version>
    </parent>
  • goon-dance-admin的pom文件,不要手动添加指定可执行文件mainClass文件路径,否则生成的jar包在执行时候提示:jar包没有主清单属性。
    <build>
        <plugins>
            <!--使用springboot集成的maven插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
               <version>${spring-boot.version}</version>
<!--           <configuration>-->
<!--                    <mainClass>com..sdc.SdcWebApplication</mainClass>-->
<!--                    <skip>true</skip>-->
<!--                </configuration>-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <id>repackage</id>-->
<!--                        <goals>-->
<!--                            <goal>repackage</goal>-->
<!--                        </goals>-->
<!--                    </execution>-->
<!--                </executions>-->
            </plugin>
        </plugins>
    </build>

(4)当最外出pom的parent是自定义的。则需要配置运行的mainClass类文件。以及配置插件的<goals>属性。

 <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>com.pousheng.sdc.SdcWebApplication</mainClass>
                    <skip>true</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

以上就是maven多模块打包注意事项详解的详细内容,更多关于maven多模块打包注意事项的资料请关注其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。