1. 程式人生 > >maven properties檔案裡變數無法替換

maven properties檔案裡變數無法替換

我的專案結構如下,是多模組結構
這裡寫圖片描述

在主pom的vars裡定義了各個環境的不同變數,然後在其他模組中引用,但是使用中發現,變數並沒有被替換。

解決方法:
在主pom的pom.xml中加入外掛:

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <version>2.5</version>
     <configuration
>
<useDefaultDelimiters>false</useDefaultDelimiters> <delimiters> <delimiter>$[*]</delimiter> </delimiters> <encoding>UTF-8</encoding> </configuration
>
</plugin>

maven-resources-plugin

為了使專案結構更為清晰,Maven區別對待Java程式碼檔案和資原始檔,maven-compiler-plugin用來編譯Java程式碼,maven-resources-plugin則用來處理資原始檔。預設的主資原始檔目錄是src/main/resources,很多使用者會需要新增額外的資原始檔目錄,這個時候就可以通過配置maven-resources-plugin來實現。此外,資原始檔過濾也是Maven的一大特性,你可以在資原始檔中使用${propertyName}形式的Maven屬性,然後配置maven-resources-plugin開啟對資原始檔的過濾,之後就可以針對不同環境通過命令列或者Profile傳入屬性的值,以實現更為靈活的構建。