SpringCloud工程打包

本文介绍了如何通过SpringCloud的父工程配置,一次性打包多个子模块,详细讲述了父工程和子工程的pom.xml配置方法,以及在IDEA中执行maven package的操作步骤,旨在帮助开发者提高效率。

springcloud工程总是有很多的module,虽然module可以单独打包使用,可以参见文章springboot打包,但如果每个moudle都需要打包处理,肯定浪费很多时间,并且做了大量的无用功。

这里介绍可以通过父工程进行打包的方法,编辑器使用idea

1、父工程pom配置

父工程的pom文件添加如下配置

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.7.RELEASE</version>
        <relativePath/> 
    </parent>
    
    <groupId>com.jianggj</groupId>
    <artifactId>springcloud</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

其中 <packaging>pom</packaging> 一定配置成 pom  ,默认工程可能会有jar或者war的,不配置pom在执行maven打包时会报错

继续配置需要打包的module

    <modules>
        <module>eureka</module>
        <module>customer</module>
        <module>product</module>
    </modules>

然后加上一些依赖包,这里就是正常的配置了

在build里面配置上跳过测试内容

    <build>
        <finalName>springcloud</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

2、子工程配置

打开子工程的pom内容,参加如下的配置

    <!--<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.7.RELEASE</version>
        <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;
    </parent>-->
<!--    <parent>
        <groupId>com.xxxx</groupId>
        <artifactId>springcloud</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>-->
    <groupId>com.xxxx</groupId>
    <artifactId>product</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>product</name>
    <description>Demo project for Spring Boot</description>

第一段注释内容有的文章说如果在父工程中已配置可以不使用,可是我注释在打包会报错,因为有测试的内容,所以在我打包的时候,第一段内容还原使用了,第二段注释部分,有的文章上说加上父级(如果使用此处第一段需要注释),但是我加上以后打包出来的子工程都是父工程的名字,不知道是什么原因,所以给注释掉了,这样子工程打包出来的就是子工程名字。

下面的build依然配置上跳过测试的内容,和使用的打包插件maven

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

其他的子工程类似配置即可

3、执行maven操作

因为在idea中操作的,在窗口右侧有maven菜单,执行package即可在控制台看到打包日志信息

最后控制台提示如下信息表示已经打包成功

然后到项目目录的子工程target下看到打包后的jar文件

以上内容也是根据一些操作进行的总结,希望对大家有帮助。

如有侵权,请告知删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值