maven多環(huán)境配置

作者 時(shí)間
雨中星辰 20190523

背景

項(xiàng)目在開發(fā)中,有多種環(huán)境,之前每次在不同的環(huán)境部署都要修改一次配置文件,覺得十分麻煩,而且修改配置文件,不小心很容易出錯(cuò),就想到了使用maven和springboot的多環(huán)境配置。

但是經(jīng)過(guò)研究發(fā)現(xiàn),springboot的多環(huán)境只能配置springboot的配置文件,但是在我的項(xiàng)目中除了springboot的配置文件還有其他的文件,故使用maven的多環(huán)境配置完成本次需求。

方法

1. 在resource根據(jù)不同的環(huán)境建立不同的目錄,將該環(huán)境的配置文件放入目錄中。

image.png

2. 配置profile

<profiles>
        <!--本地開發(fā)環(huán)境-->
        <profile>
            <id>ys</id>
            <properties>
                <profiles.active>ys</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!--冀北環(huán)境-->
        <profile>
            <id>jb</id>
            <properties>
                <profiles.active>jb</profiles.active>
            </properties>
        </profile>
        <!--四川環(huán)境-->
        <profile>
            <id>sc</id>
            <properties>
                <profiles.active>sc</profiles.active>
            </properties>
        </profile>
        <!--天津環(huán)境-->
        <profile>
            <id>tj</id>
            <properties>
                <profiles.active>tj</profiles.active>
            </properties>
        </profile>
    </profiles>

3. 資源配置

<build>
      <!--為了區(qū)分打包的環(huán)境,在報(bào)名后加入了環(huán)境名-->
      <!--打包后的名稱為:zeus-admin-2.1-fj.jar-->
        <finalName>${project.artifactId}-${project.version}-${profiles.active}</finalName>

        <resources>
            <resource>
                <directory>src/main/java</directory>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <!--指定要包含的文件-->
                <includes>
                    <include>banner.txt</include>
                    <!--包含static的目錄下的所有文件-->
                    <!--一個(gè)*指:所有子文件,兩個(gè)*指:"子"文件與"孫"文件-->
                    <include>static/**</include>
                </includes>
                <!-- 資源根目錄排除各環(huán)境的配置,使用單獨(dú)的資源目錄來(lái)指定 -->
                <excludes>
                    <exclude>hn/**</exclude>
                    <exclude>jb/**</exclude>
                    <exclude>local/**</exclude>
                    <exclude>sc/**</exclude>
                    <exclude>tj/**</exclude>
                    <exclude>ys/**</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources/${profiles.active}</directory>
                <!--是否替換資源中的屬性-->
                <filtering>true</filtering>
            </resource>
        </resources>
</build>

#4.打包

mvn clean package -DskipTests -P ${profiles.active}
例:mvn clean package -DskipTests -P ys

注意:一定要加clean,否則可能會(huì)將其他環(huán)境的配置文件打包進(jìn)去,雖然不影響程序的使用,但是不太好。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第1節(jié) 前言 1 背景: 2018.8需要為新公司的某項(xiàng)目中某部分邏輯獨(dú)立出來(lái)當(dāng)作獨(dú)立服務(wù)器,為以后的分布式做準(zhǔn)...
    Guoyubo閱讀 8,264評(píng)論 9 200
  • 一、什么是Maven多環(huán)境配置? ** 在開發(fā)的過(guò)程中,經(jīng)常需要面對(duì)不同的運(yùn)行環(huán)境(開發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境、...
    編程界的小學(xué)生閱讀 6,904評(píng)論 0 7
  • 1、pom.xml中配置: 2、在resources下配置: 1、新建dev和pro兩個(gè)文件夾,把需要配置的a...
    人生如茶幾閱讀 338評(píng)論 0 1
  • 背景 在實(shí)際開發(fā)工作中,存在很多需要在properties配置文件中配置的屬性。但是在開發(fā)過(guò)程中一般存在多個(gè)環(huán)...
    一直在路上_求名閱讀 814評(píng)論 0 0
  • "媽媽,你害我輸?shù)魀k賽了!" 兒子一邊看著我,一邊看著手機(jī),傷心地流下眼淚,大聲控訴著。 事情的原委:我組織部分...
    仕英閱讀 215評(píng)論 0 1

友情鏈接更多精彩內(nèi)容