springboot多profile环境maven配置

application.properties 中加入

spring.profiles.active=dev

这里可以随便指定test[测试环境],prod[生产环境],dev[开发环境]


依次建立,当然里面需要分别有所属环境的配置

application-test.properties
application-prod.properties
application-dev.properties

直接上maven配置:

<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.demo.flow</groupId>
    <artifactId>demo-flow-openapi</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>

    <name>demo-flow-openapi</name>
    <description>test project for flow-openapi</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath/>
        <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
        </dependency>

        <dependency>
            <groupId>com.github.miemiedev</groupId>
            <artifactId>mybatis-paginator</artifactId>
            <version>RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <profiles>
        <profile>
            <id>prod</id>
            <properties>
                <build.profile.id>prod</build.profile.id>
            </properties>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <build.profile.id>test</build.profile.id>
            </properties>
        </profile>
        <profile>
            <id>dev</id>
            <properties>
                <build.profile.id>dev</build.profile.id>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    </profiles>

    <build>
        <finalName>flow-openapi</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>utf8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>

        <!--第一种profile方案[推荐第一种]-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!--resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换-->
                <filtering>true</filtering>
                <!--引入资源文件信息-->
                <includes>
                    <include>application.properties</include>
                    <include>*.xml</include>
                    <include>banner.txt</include>
                    <include>application-${build.profile.id}.properties</include>
                </includes>
            </resource>
        </resources>

        <!--第二种profile方案-整理的网上其他方案-->
        <!--<resources>-->
            <!--<resource>-->
                <!--<directory>src/main/resources</directory>-->
                <!--<filtering>false</filtering>-->
                <!--<includes>-->
                    <!--<include>**/*.xml</include>-->
                <!--</includes>-->
            <!--</resource>-->

            <!--<resource>-->
                <!--<directory>src/main/resources</directory>-->
                <!--<filtering>true</filtering>-->
                <!--<excludes>-->
                    <!--<exclude>application-dev.properties</exclude>-->
                    <!--<exclude>application-prod.properties</exclude>-->
                    <!--<exclude>application-test.properties</exclude>-->
                <!--</excludes>-->
            <!--</resource>-->

            <!--<resource>-->
                <!--<filtering>true</filtering>-->
                <!--<directory>src/main/resources</directory>-->
                <!--<includes>-->
                    <!--<include>application-${build.profile.id}.properties</include>-->
                <!--</includes>-->
            <!--</resource>-->
        <!--</resources>-->

        <!--第三种profile配置方案-->
        <!--<filters>-->
            <!--<filter>src/main/resources/application-${build.profile.id}.properties</filter>-->
        <!--</filters>-->

        <!--<resources>-->
            <!--<resource>-->
                <!--<filtering>true</filtering>-->
                <!--<directory>src/main/resources</directory>-->
            <!--</resource>-->
        <!--</resources>-->

    </build>

</project>

相关扩展资料

https://yq.aliyun.com/articles/25408

http://blog.csdn.net/u011961421/article/details/78739805

http://blog.csdn.net/zxzzxzzxz123/article/details/70144397

http://blog.csdn.net/lihe2008125/article/details/50443491

https://www.cnblogs.com/GoodHelper/p/6260708.html

原文地址:https://www.cnblogs.com/fangyuan303687320/p/8110464.html

时间: 2024-10-30 00:08:59

springboot多profile环境maven配置的相关文章

maven 配置自动本地/线上不同配置自动打包

工程结构:在resource下新建开发,线上不同文件夹存放不同配置文件 pom.xml配置文件 <!-- maven配置不同环境打包 --> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7&l

maven配置profile,按指定环境打包

日常开发中,经常会处理开发环境.测试环境.生产环境的配置文件,一旦项目大了之后各种配置文件太多,每次修改配置文件切换各种环境时容易遗漏,解决方案可以使用maven配置profile来实现,修改pom.xml如下: 1.新增profiles,与build同级 <profiles> <profile> <!-- 测试环境 --> <id>test</id> <properties> <profiles.active>test&

springboot项目maven配置多环境

maven配置多环境 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- 配置默认跳过单元测试 结束--> <plugin> <groupId>org.apa

Maven配置、第三方依赖jar包打包以及Profiles多环境配置

由一次打包部署失败引发的深入探索┑( ̄▽  ̄)┍ 一.Maven配置 1.概览 <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配置测试环境和开发环境连接不同的数据库

通过Maven配置测试环境和开发环境连接不同的数据库 作者及来源: 通灵宝玉 - 博客园    收藏到→_→: 此文来自: 马开东博客 网址:http://www.makaidong.com 摘要: 通过Maven配置测试环境和开发环境连接不同的数据库 "通过Maven配置测试环境和开发环境连接不同的数据库":关键词:通过 maven 配置 测试 环境 开发 环境 连接 不同 其他数据库 通过maven配置测试环境和开发环境连接不同的其他数据库 操作上分3个步骤 1.在数据持久层的po

ubuntu maven环境安装配置

一.环境说明: 二.下载 maven 三.解压安装 四.设置环境变量 五.配置用户范围setting.xml 一.环境说明: 操作系统:Ubuntu 12.04.2 LTS(32位) maven:apache-maven-3.2.2 安装maven前请先安装好jdk,jdk安装可参见:http://my.oschina.net/hongdengyan/blog/150342. 二.下载 maven 下载链接:http://maven.apache.org/download.cgi 选择最新版本的

Mac maven环境变量配置

人活一天就得做一天人,担一天忧,尽一天责:就得讲一天内涵和修养.涵养,使人严肃而不孤僻,使人活泼而不放浪,使人稳重而不呆板,使人热情而不轻狂,使人沉着而不寡言,使人和气而不盲从.每个人都是塑造自己的工程师.涵养,不是束缚,而是解放. 最近一直在学习使用Macbook,在这里记录一下所有遇到的问题 问题起源: 1.Macbook 安装了Eclipse,Eclipse装入插件maven & git , 但是在git中clone project 的时候,经常会报错: Could not calcula

Mac 下 java环境 maven环境配置

在mac下配置了java环境和maven环境,发现网上的配置方法各有不同,尝试了各种,现在记录下我配置后总结的方法 java环境配置 1. 下载jdk,按照提示安装 我下的是1.8.0版本,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.查看安装的 JDK 以及路径 命令行终端输入 : /usr/libexec/java_home -V //查看安装的 JDK 以

maven 的安装与环境变量配置

在http://maven.apache.org下载maven安装包 一.Windows 1.解压压缩包: jar -xvf "D:/apache-maven-3.5.0-bin.zip"(或者用解压软件直接解压) 2.环境变量设置: M2_HOME=/D:apache-maven-3.5.0 path=...;%M2_HOME%/bin 3.判断是否安装成功:mvn -v 二.liunx 1.解压压缩包 tar -zxvf  /opt/tools/apache-maven-3.5.2