广告位联系
返回顶部
分享到

在idea中利用maven实现多环境配置自动打包的流程步骤介绍

C#教程 来源:互联网 作者:佚名 发布时间:2024-11-30 22:58:26 人浏览
摘要

spring的多环境配置 spring提供了多环境配置文件的功能,只需要根据配置文件后缀即可加载对应的配置文件 1 2 3 4 spring: profiles: # 修改后缀即可加载对应的配置 active: dev 还需要准备好对应的配置

spring的多环境配置

spring提供了多环境配置文件的功能,只需要根据配置文件后缀即可加载对应的配置文件

1

2

3

4

spring:

  profiles:

    # 修改后缀即可加载对应的配置

    active: dev

还需要准备好对应的配置文件

在这里插入图片描述

利用maven实现多环境配置自动打包

但是这怎样写死的 spring.profiles.active 属性在使用idea给不同环境打包时每次都需要手动修改,可以使用maven提供的动能实现自动映射配置属性。

在pom.xml文件中主要添加以下配置

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

<!--配置多环境打包-->

<profiles>

    <!--开发环境-->

    <profile>

        <id>dev</id>

        <properties>

            <!--自定义的属性-->

            <spring.profiles.active>dev</spring.profiles.active>

        </properties>

        <activation>

            <!--如果不指定,则默认使用dev开发环境配置-->

            <activeByDefault>true</activeByDefault>

        </activation>

    </profile>

    <!-- 测试环境-->

    <profile>

        <id>test</id>

        <properties>

            <spring.profiles.active>test</spring.profiles.active>

        </properties>

    </profile>

    <!--生产环境-->

    <profile>

        <id>prod</id>

        <properties>

            <spring.profiles.active>pro</spring.profiles.active>

        </properties>

    </profile>

</profiles>

<build>

    <finalName>${project.name}</finalName>

    <resources>

        <resource>

            # mavan要对哪个目录解析 ${} 标签

            <directory>${project.basedir}/demo/src/main/resources</directory>

            # 是否过滤

            <filtering>true</filtering>

        </resource>

    </resources>

</build>

在添加了上述配置后,在pom.xml文件中右击 --> Maven --> 重新加载项目,就能看到右边多了一些配置

在这里插入图片描述

然后修改application.yml文件的配置

1

2

3

4

spring:

  profiles:

    # 修改后缀即可加载对应的配置

    active: ${spring.profiles.active}

选中想打包的环境

在这里插入图片描述

打包后查看实际打出来的包配置文件的属性是否真正加载了

在这里插入图片描述

在这里插入图片描述

可以看到正是所选的 pro 环境,这样就不用每次打包时都手动修改 spring.profiles.active 属性,只需要在打包时勾选一下maven对应的profiles属性即可

完整的 pom.xml 文件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>

    <artifactId>demo</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <name>demo</name>

    <description>demo</description>

    <properties>

        <project.name>demo</project.name>

        <java.version>1.8</java.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <spring-boot.version>2.6.13</spring-boot.version>

    </properties>

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-redis</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

        <dependency>

            <groupId>org.mybatis.spring.boot</groupId>

            <artifactId>mybatis-spring-boot-starter</artifactId>

            <version>2.2.2</version>

        </dependency>

 

        <dependency>

            <groupId>com.mysql</groupId>

            <artifactId>mysql-connector-j</artifactId>

            <scope>runtime</scope>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-test</artifactId>

            <scope>test</scope>

        </dependency>

    </dependencies>

    <dependencyManagement>

        <dependencies>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-dependencies</artifactId>

                <version>${spring-boot.version}</version>

                <type>pom</type>

                <scope>import</scope>

            </dependency>

        </dependencies>

    </dependencyManagement>

 

    <!--配置多环境打包-->

    <profiles>

        <!--开发环境-->

        <profile>

            <id>dev</id>

            <properties>

                <!--自定义的属性-->

                <spring.profiles.active>dev</spring.profiles.active>

            </properties>

            <activation>

                <!--如果不指定,则默认使用dev开发环境配置-->

                <activeByDefault>true</activeByDefault>

            </activation>

        </profile>

        <!-- 测试环境-->

        <profile>

            <id>test</id>

            <properties>

                <spring.profiles.active>test</spring.profiles.active>

            </properties>

        </profile>

        <!--生产环境-->

        <profile>

            <id>prod</id>

            <properties>

                <spring.profiles.active>pro</spring.profiles.active>

            </properties>

        </profile>

    </profiles>

 

    <build>

        <finalName>${project.name}</finalName>

        <resources>

            <resource>

                <directory>${project.basedir}/demo/src/main/resources</directory>

                <filtering>true</filtering>

            </resource>

        </resources>

        <plugins>

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.8.1</version>

                <configuration>

                    <source>1.8</source>

                    <target>1.8</target>

                    <encoding>UTF-8</encoding>

                </configuration>

            </plugin>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

                <version>${spring-boot.version}</version>

                <configuration>

                    <mainClass>com.example.demo.DemoApplication</mainClass>

                    <skip>true</skip>

                </configuration>

                <executions>

                    <execution>

                        <id>repackage</id>

                        <goals>

                            <goal>repackage</goal>

                        </goals>

                    </execution>

                </executions>

            </plugin>

        </plugins>

    </build>

 

</project>


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。

您可能感兴趣的文章 :

原文链接 :
相关文章
  • 使用C#实现AES加密与解密
    1. AES 加密简介 AES(Advanced Encryption Standard,高级加密标准)是一种对称加密算法,意味着加密和解密使用相同的密钥。AES 支持不同的密钥长
  • 在idea中利用maven实现多环境配置自动打包的流程

    在idea中利用maven实现多环境配置自动打包的流程
    spring的多环境配置 spring提供了多环境配置文件的功能,只需要根据配置文件后缀即可加载对应的配置文件 1 2 3 4 spring: profiles: # 修改后缀即
  • Java实现自定义重试工具类介绍
    Spring-retry、guava的Retry都提供有重试工具,但二者均存在一个确缺点,即如果重试等待过程中会一直阻塞工作线程,这对于在生产环境使用是
  • C#中SetStyle的具体使用介绍
    在C#的Windows Forms应用程序中,SetStyle方法是Control类的一个成员,用于启用或禁用特定的控件样式。这些样式控制控件的不同行为和外观。以
  • C# WinForm实现画笔签名功能介绍

    C# WinForm实现画笔签名功能介绍
    实现效果 签名功能的显示界面如下图: 该效果主要实现如下功能: 1、提供画布,设计画笔类,实现画笔签名 2、点击重签按钮清空画布
  • C#文字识别API场景解析、表格识别提取功能实现
    在快节奏的工作与生活环境中,如何提高企业工作效率、提升用户体验成为了人们追求的共同目标。针对市场发展需求,一种将任意场景图
  • c#线性回归和多项式拟合示例详解
    1. 线性回归 公式:线性回归的目标是拟合一条直线,形式为: y=mx+by=mx+b 其中: yy是因变量(目标值) xx是自变量(特征值) mm是斜率(s
  • C#删除Word文档中的段落的方法

    C#删除Word文档中的段落的方法
    免费.NET Word 库 -Free Spire.Doc for .NET。该库支持实现创建、编辑、转换Word文档等多种操作,可以直接在Visual Studio中通过NuGet搜索 FreeSpire.Doc,然
  • c#强制类型转换int方式
    c#强制类型转换int 在 C# 中有三种方法把其它类型转为整型,分别是 : int.Parse() 强制转换(int) Convert.ToInt32() 下面探讨它们各自的特点及效率
  • C#生成exe可执行文件的常用方法

    C#生成exe可执行文件的常用方法
    生成可执行文件的方法常用的有2种设置 一、常用2种方法 1、生成菜单 2、项目文件夹下的可执行文件 3、项目菜单---S71500Comm属性
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计