マルチ環境設定を使用してMavenのプロフィール

我々はマルチプロジェクトの環境設定を行った場合、そのようなので、上のSpringBoot独自のアプリケーション・dev.yml、Mavenのプロファイルととして私たちが選択するための多くの方法が、あります。ここで紹介するマルチ環境構成プロファイルを利用する方法です。

まず、あなたはのpom.xmlにプロファイル設定を追加する必要があります。

    <profiles>
        <!-- 开发环境 默认激活-->
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
        </profile>
        <!-- 生产环境 -->
        <profile>
            <id>publish</id>
            <properties>
                <env>publish</env>
            </properties>
        </profile>
        <!-- 本地环境 -->
        <profile>
            <id>local</id>
            <properties>
                <env>local</env>
            </properties>
            <!--默认启用-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    </profiles>

プロファイルは異なる環境に切り替えるには、プロファイルファイル、すなわちDEV、公開し、地域の環境、<ENV>タグの複数の内側に配置され、環境がアクティブにするために必要です。<ActiveByDefault>がtrueに設定されていることを示している:デフォルトのプロファイルが有効になっています。

次に、我々は、タグをフィルタリングするリソースがtrueに設定されているパラメータ値は、プロパティファイルフィルタ]タブに由来している間、それは、それはマークを置き換えるためにパラメータ値を有効に示してほしいです。以下は、オリジナルの説明です:

 Whether resources are filtered to replace tokens with parameterised values or not.
 The values are taken from the <code>properties</code> element and from the properties in the files listed
 in the <code>filters</code> element.
 <build>
        <!-- 指定使用filter -->
        <filters>
            <filter>src/main/resources/profiles/${env}/env.properties</filter>
        </filters>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                </includes>
                <excludes>
                    <exclude>profiles/**</exclude>
                </excludes>
                <filtering>true</filtering>
            </resource>
        </resources> 
    </build>

フィルタは、読むために環境変数の値を表しているのenv属性プロファイル、環境の異なる値で構成された別のプロパティファイルで参照されています。

<フィルタ>真</フィルタリング>の前でいえば、パラメータの値を表し、それが何を意味、マークを置き換えるために有効にしますか?表現する方法application.ymlで見てみましょうか?

server:
  port: 8080
  tomcat:
    max-threads: 800
    uri-encoding: UTF-8

spring:
  redis:
    host: ${spring.redis.host}
    timeout: ${spring.redis.timeout}
    pool:
      max-idle: ${spring.redis.pool.max-idle}
      max-active: ${spring.redis.pool.max-active}
    password: ${spring.redis.password}
    database: ${spring.redis.database}

したがって、全体のプロセスはによって行われるべきである:Mavenのコンパイルコマンドの実行、<リソース>属性値の特性を<フィルター>を読み取り、その後に資源SRC /主マーカー上下/交換 - $ {spring.redis.host}などをこれら。

最後に、一つだけ質問、どのように環境を切り替えますか?あなたはツールのアイデアを開発する場合は、そのまま次のウィンドウにに切り替わり:

あなたは、コマンドラインコンパイラを使用する場合は、プラス-Pは、プロファイルを選択し、以下のようになります

clean -U package -P dev -DskipTests=true -f pom.xml

おすすめ

転載: www.cnblogs.com/jmcui/p/11925020.html