【Maven】不同环境打包的应用 -profile详解

本文介绍了如何使用Maven的profile特性结合maven-jar-plugin、spring-boot-maven-plugin和maven-assembly-plugin在Spring Boot项目中实现不同环境的打包。详细讲解了各个插件的配置和使用,包括如何自定义打包结构、选择配置文件以及启动命令,以优化打包过程和简化部署。
摘要由CSDN通过智能技术生成

一、背景

随着项目越来越多了,如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成jar包,

  • 我们通过使用mavenassembly插件自定义打包、
  • 也可以使用SpringBoot集成的自定义打包插件spring-boot-maven-plugin
  • 或者SpringBoot启动jar包时使用 -Dspring.profiles.active=dev命令行执行时自定义使用哪个配置文件。

1. maven-jar-plugin

  <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <!-- 此处为程序主入口-->
                            <mainClass>com.jd.soc.statistic.service.SocStatisticServiceApplication</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

2、spring-boot-maven-plugin

参考:
spring-boot-maven-plugin maven(三)最详细的profile的使用:

SpringBoot的打包插件会将所有依赖的jar包都打到最后的主jar包中,最终只需要启动主jar包。
非常方便,但是如果依赖的jar包太多,主jar包会臃肿。
且上传jar包到生产环境、预发环境中时,每次都需要重传一个超大的jar包过去。


    <build>

        <!--       打jar包插件   -->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.0.1.RELEASE</version>
                <configuration>
                    <!-- 指定该 Main Class为全局的唯一入口 -->
                    <mainClass>com.jd.soc.statistic.service.SocStatisticServiceApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                    </execution>
                </executions>

            </plugin>
        </plugins>


        <resources>
            <resource>
                <directory>src/main/resources/</directory>
                <!--打包时先排除掉三个文件夹-->
                <excludes>
                    <exclude>dev/*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_popo_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值