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

 更新时间:2023年07月12日 11:08:37   作者:Geroge1226  
这篇文章主要为大家介绍了maven多模块打包注意事项详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

1、说明

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

  • 执行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多模块打包注意事项的资料请关注脚本之家其它相关文章!

相关文章

  • 深入详解Java中synchronized锁升级的套路

    深入详解Java中synchronized锁升级的套路

    synchronized锁是啥?锁其实就是一个对象,随便哪一个都可以,Java中所有的对象都是锁,换句话说,Java中所有对象都可以成为锁。本文我们主要来聊聊synchronized锁升级的套路,感兴趣的可以收藏一下
    2023-04-04
  • Spring MVC 与 CORS跨域的详细介绍

    Spring MVC 与 CORS跨域的详细介绍

    本文介绍了 CORS 的知识以及如何在 Spring MVC 中配置 CORS,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Springboot 如何指定获取自己写的配置properties文件的值

    Springboot 如何指定获取自己写的配置properties文件的值

    这篇文章主要介绍了Springboot 如何指定获取自己写的配置properties文件的值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring cloud 限流的多种方式

    Spring cloud 限流的多种方式

    在频繁的网络请求时,服务有时候也会受到很大的压力,尤其是那种网络攻击,非法的。这样的情形有时候需要作一些限制。本文主要介绍了两种限流方法,感兴趣的可以了解一下
    2021-06-06
  • Springsecurity Oauth2如何设置token的过期时间

    Springsecurity Oauth2如何设置token的过期时间

    如果用户在指定的时间内有操作就给token延长有限期,否则到期后自动过期,如何设置token的过期时间,本文就来详细的介绍一下
    2021-08-08
  • @RefreshScope(nacos配置热更新方式)

    @RefreshScope(nacos配置热更新方式)

    文章主要介绍了Spring和Nacos对`@RefreshScope`注解的处理方式,Spring在每次调用被`@RefreshScope`注解的bean的属性时,会先从本地缓存获取,如果缓存不存在则重新创建并获取最新环境配置
    2024-12-12
  • 使用Java实现一个不同难度(高、中、低)的猜数字游戏

    使用Java实现一个不同难度(高、中、低)的猜数字游戏

    本文介绍了一个增强版的猜数字游戏,包括菜单打印、游戏维持、逻辑功能选择和源代码展示,游戏通过随机数生成和逻辑判断来维持游戏进程,用户可以选择不同的难度,源代码展示了如何实现这三种不同难度的猜数字游戏,为玩家带来更多挑战和乐趣,需要的朋友可以参考下
    2024-09-09
  • mybatis中如何使用小于号

    mybatis中如何使用小于号

    这篇文章主要介绍了mybatis中如何使用小于号问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 使用logback配置按天和文件大小切割输出日志

    使用logback配置按天和文件大小切割输出日志

    这篇文章主要介绍了使用logback配置按天和文件大小切割输出日志方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • spring boot 3使用 elasticsearch 提供搜索建议的实例详解

    spring boot 3使用 elasticsearch 提供搜索建议的实例详解

    这篇文章主要介绍了spring boot3使用elasticsearch提供搜索建议,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08

最新评论