美文网首页maven
maven多环境打包配置

maven多环境打包配置

作者: virtual灬zzZ | 来源:发表于2022-11-30 00:28 被阅读0次

1.配置资源文件中的变量分隔符(标识符 )

<delimiters>@</delimiters>

需要用以下配合,达到替换环境参数:dev或test、prod

<filtering>true</filtering>

能让maven中<profiles>中定义的变量注入到yml或properties文件中,使用如下:

POM:
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<build>
        <finalName>test-project</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <delimiters>@</delimiters>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <encoding>${encoding-charset}</encoding>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 启用过滤 即该资源中的变量将会被过滤器中的值替换 -->
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
                <tt>xxx</tt>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
                <tt>yyy</tt>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
                <tt>zzz</tt>
            </properties>
        </profile>
    </profiles>
</project>

yml文件

server:
  port: 9088
  servlet:
    context-path: /test
spring:
  profiles:
    active: @profiles.active@
  application:
    name: test
tt: @tt@

@profiles.active@ 是动态传输,因为filtering=true,我们甚至可以在maven打包时传入参数-Pprofile,tt注意是用@包裹起来,由maven传输过去

相关文章

  • Maven 多环境打包以及聚合打包(一)

    说明 本文只是一个总结参考文章:Maven 插件 - 打包时多环境配置文件设置 Maven 多环境打包 mav...

  • maven多环境打包配置

    1.在resources 目录中创建不同的项目启动配置文件。 resources目录结构如图: 2.修改项目pom...

  • maven多环境打包配置

    1.配置资源文件中的变量分隔符(标识符 ) 需要用以下配合,达到替换环境参数:dev或test、prod 能让ma...

  • Maven常用配置

    本文介绍了使用Maven作为构建工具的常用配置,包括指定jdk版本,jar包和依赖分开打包,多环境打包,配置私服,...

  • Maven插件-打包时多环境配置文件设置

    Maven插件-打包时多环境配置文件设置 引入公司SSO时,需要在web.xml文件中配置不同跳转URL,测试、生...

  • Maven 打包常用命令

    maven command 打包 打包跳过测试 打包指定环境 maven 打包 启动jar指定环境

  • 5.SpringBoot多环境配置

    maven多环境配置示例 SpringBoot多环境配置 Profile是Spring针对不同环境不同配置的支持。...

  • MAVEN 多环境打包

    这里的profile和Spring里面的profile是一样的道理,首先对默认的文件进行打包,然后读取默认激活的p...

  • Maven多环境打包

    场景 在应用部署的时候,往往遇到需要发布到不同环境的情况,而每个环境的数据库信息、密钥信息等可能会存在差异。举个例...

  • maven 多环境打包

    目录结构 在pom.xml中添加如下profile的配置: 当加入这些配置后就能在右侧看到目录如下:image.p...

网友评论

    本文标题:maven多环境打包配置

    本文链接:https://www.haomeiwen.com/subject/spqlfdtx.html