maven - 多模塊打包 -每個模塊 多 環境 yml 的具體配置


1.網上找不到具體說明maven 多模塊,其中每個模塊有多個環境yml配置文件 具體該怎么設計

琢磨了半天並驗證 ,總結如下 

1.在需要配置多環境的子模塊工程里 的 resources 里 配置多個application.yml ,其他的使用 application-[自定義].yml 格式新建,如 application-pro.yml 
2.有多個配置文件時,application.yml 這個文件僅作引入其他 yml使用,不寫 具體的配置數據
3.每個子模塊里的pom.xml文件需要在 <build> 標簽里添加 <resources> 配置,如果沒有設計,會導致不論是開發工具啟動還是打包 都會引入所有yml
4.不是所有工程都需要配置多yml ,不影響默認 application.yml 的使用,
  如zuul、 eureka等 不論是本地還是生產 ,都沒有配置區別 ,可以不做yml配置,以前是什么就是什么
5.需要在最大父級pom.xml配置<profiles>,這樣idea 的maven結構會顯示profiles的選擇框
6.有些會顯示jdk版本,那是因為在maven的setting.xml設置了 <profiles>,   具體配置看下面內容
7.不論是打包還是開發工具啟動 ,都需要選擇 profiles   ,如果不選擇,會導致全部yml都生產並運行 ,最終導致排列最后一個yml生效 【同字段】
8.切換yml打包時記得先clean后再package

2.配置

看下結構

 

 配置 jdk版本

在當前 項目使用的 maven 找到setting.xml文件,

不知道的可以查看idea設置里 

 

 

找到   <settings>  》 <profiles>  里添加

  <profile>
      <id>jdk-1.8</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>

 

 保存即可

父級 pom.xml 添加 配置

    <profiles>
        <!-- dev開發環境配置,pro為生產環境配置 -->
        <profile>
            <id>dev</id>
            <properties>
                <profileActive>dev</profileActive>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>pro</id>
            <properties>
                <profileActive>pro</profileActive>
            </properties>
        </profile>
    </profiles>

 

 

 

在需要配置多yml的工程里添加添加yml文件

 

 其中application.yml 文件只需要配置下面這點

spring:
  profiles:
    active: @profileActive@

其他的根據以前配置 application.yml 的格式配置 ,這里就不展示具體內容了

現在點一下刷新maven就出來選項了

 

 不論是打包還是開發工具啟動 ,都需要選擇 profiles   ,如果不選擇,會導致全部yml都生成並運行 ,最終導致排列最后一個yml生效 【同字段】

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM