关于SpringBoot打包测试、生产环境方式

 更新时间:2023年09月01日 10:54:09   作者:lee84233  
这篇文章主要介绍了关于SpringBoot打包测试、生产环境方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1. SpringBoot创建不同环境的配置文件

1.1 新建各环境的配置文件

resources 目录下新建 application-dev.yml application-test.yml application-prod.yml 文件

分别对应 开发、测试、生产环境

新建环境配置文件

1.2 修改 application.yml

application.yml 修改配置参数

spring:
  profiles:
    active: @profiles.active@

2. 修改 pom.xml

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--fork: 如果没有该项配置,整个 devtools 不会起作用-->
                    <fork>true</fork>
                    <!--启动类-->
                    <mainClass>com.xx.DemoApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--创建一个自动可执行的jar或war文件 -->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 资源根目录排除各环境的配置,防止在生成目录中多余其它目录 -->
                <filtering>true</filtering>
                <excludes>
                    <exclude>application*.yml</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>application.yml</include>
                    <include>application-${profiles.active}.yml</include>
                </includes>
            </resource>
        </resources>
    </build>
	<!-- 不同环境的配置 -->
    <profiles>
        <!--开发环境-->
        <profile>
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
            <!--默认激活-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!--测试环境-->
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <!--生产环境-->
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
        </profile>
    </profiles>

3. 打成指定环境的 jar包

3.1 使用 idea 开发工具进行打包

使用 idea 开发工具操作即可,方便快捷:

  • 打开右侧的 Maven 工具栏。
  • 双击 clean ,先清理一下。
  • 勾选需要打包的环境
  • 双击 package ,等到 SUCCESS后,查看 target 目录下,会有打包的项目jar包。

操作步骤如图:

idea操作步骤图

3.2 命令行打包

执行命令:

mvn clean package -P {环境名} -D maven.test.skip=true

示例(打包test环境):

mvn clean package -P test -D maven.test.skip=true

3.3 成功后的jar包

查看 target 目录下的 jar

打包后的jar包

4. 本地运行jar包

jar包所在的路径下,执行:

java -jar -D spring.profiles.active={环境名} {jar包名}

示例

(打包的test环境,打包后jar包名为 springboot-demo1-1.0.0-SNAPSHOT.jar):

java -jar -D spring.profiles.active=test springboot-demo1-1.0.0-SNAPSHOT.jar

示例图

执行命令

springboot启动成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringSecurity跨域请求伪造(CSRF)的防护实现

    SpringSecurity跨域请求伪造(CSRF)的防护实现

    本文主要介绍了SpringSecurity跨域请求伪造(CSRF)的防护实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • SpringBoot 内置工具类的使用

    SpringBoot 内置工具类的使用

    本文主要介绍了SpringBoot 内置工具类的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Java开发环境配置方法

    Java开发环境配置方法

    这篇文章主要介绍了并不是每一台计算机都可以运行Java程序,要运行Java程序,计算机必须学习搭建Java开发环境,需要的朋友可以参考下
    2015-07-07
  • Java实现读取设置pdf属性信息

    Java实现读取设置pdf属性信息

    这篇文章主要为大家详细介绍了如何使用Java实现读取设置pdf属性信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-01-01
  • Spring Boot如何整合FreeMarker模板引擎

    Spring Boot如何整合FreeMarker模板引擎

    这篇文章主要介绍了Spring Boot如何整合FreeMarker模板引擎,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python单元测试_使用装饰器实现测试跳过和预期故障的方法

    Python单元测试_使用装饰器实现测试跳过和预期故障的方法

    下面小编就为大家带来一篇Python单元测试_使用装饰器实现测试跳过和预期故障的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 探讨Java验证码制作(上篇)

    探讨Java验证码制作(上篇)

    很多朋友对验证码并不陌生,无论是申请账号还是某些情况下登录时都会要求输入验证码。接下来通过本文给大家介绍java验证码制作的方法,感兴趣的朋友一起学习吧
    2016-05-05
  • Java中list.foreach()和list.stream().foreach()用法详解

    Java中list.foreach()和list.stream().foreach()用法详解

    在Java中List是一种常用的集合类,用于存储一组元素,List提供了多种遍历元素的方式,包括使用forEach()方法和使用Stream流的forEach()方法,这篇文章主要给大家介绍了关于Java中list.foreach()和list.stream().foreach()用法的相关资料,需要的朋友可以参考下
    2024-07-07
  • JavaIO BufferedReader和BufferedWriter使用及说明

    JavaIO BufferedReader和BufferedWriter使用及说明

    这篇文章主要介绍了JavaIO BufferedReader和BufferedWriter使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 详谈Springfox与swagger的整合使用

    详谈Springfox与swagger的整合使用

    下面小编就为大家带来一篇详谈Springfox与swagger的整合使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论