zoukankan      html  css  js  c++  java
  • Maven实现多module打包成单个jar

    首先我们开发的项目一定会是一个父项目和多个子项目

    1:我这里有多个子项目,多个项目都继承父项目
    2:start模块最终会依赖所有的模块,如果我们在打包前不对父项目进行先打包那么,我们start项目是无法打包成功的
    如何打包:
    1:在我们父项目中将父项目的打包方式设置为pom

      

    <packaging>pom</packaging>
    <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <excludes>
                            <exclude>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                            </exclude>
                        </excludes>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                            <!--be careful 在parent pom 里面一定要加这个属性--> 
                              <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>

      


    如果我们不将父项目的打包方式设置为pom,会使我们子项目打包失败
    注: 如果您有多个Maven项目,并且它们都有相似的配置,则可以通过提取那些相似的配置并创建一个父项目来重构项目。因此,您要做的就是让您的Maven项目继承该父项目,然后将这些配置应用于所有这些项目。
    POM:用在父级工程或聚合工程中,用来做jar包的版本控制,必须指明这个聚合工程的打包方式为pom,
    2:在其它项目的pom.xml里添加

    <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    子模块默认打包方式为jar

    3:在start项目模块的pom.xml里添加

      

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


    参考链接:https://blog.csdn.net/weixin_44787319/article/details/114339075

    参考链接:https://blog.csdn.net/xingkaichun/article/details/92829970

    参考链接:https://www.freesion.com/article/2624915780/

    联系方式



  • 相关阅读:
    改变多行文本字符串的缩进
    多线程
    python基本语法2.5--字符串的相关操作
    python基本语法2.4---汉诺塔的递归
    python基本语法2.3--函数及参数传递
    python基本语法2.2--函数名当作变量传递
    python基本语法2.1--if判断和while,for循环
    AlexNet源码
    python基本语法1.4--初识爬虫
    python基本语法1.5--调用numpy库的性能影响
  • 原文地址:https://www.cnblogs.com/xiohao/p/15124725.html
Copyright © 2011-2022 走看看