Spring Boot使用Maven打包替換資源文件占位符


  在Spring Boot開發中,通過Maven構建項目依賴是一件比較舒心的事,可以為我們省去處理沖突等大部分問題,將更多的精力用於業務功能上。近期在項目中,由於項目集成了其他外部系統資源文件,需要根據不同的環境實現加載不同的JS資源文件,處理這個問題首先想到的便是通過判斷當前環境實現動態加載JS,但是,在應用打包的時候已經明確了部署環境,對於靜態資源的引用也是確定的,為何不在執行打包的過程中指定引用的資源路徑?沒錯,尤其在通過Spring Boot的Maven打包時,可以通過簡單的幾行代碼來實現實現。下面給出一個簡單的例子,比如,在html頁面我們需要動態的引入一個JS,JS的路徑分別為http://www.cnblogs.com/funnyboy0128/test.js和http://www.cnblogs.com/funnyboy0128-test/test.js,假設分別對應到生產環境和開發環境,則處理如下:

1、pom文件如下:

<build>
  <plugins>
    <plugin>

      <groupId>org.springframework.boot</groupId>

      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
  
     <!-- mavne打包動態修改替換占位符 -->
  <resources>  
    <resource>
      <directory>src/main/resources</directory>
      <filtering>true</filtering>  
    </resource>
  </resources>
</build>

<profiles>
  <profile>
    <id>dev</id>
    <properties>
      <funnyboy.env>http://www.cnblogs.com/funnyboy0128-test</funnyboy.env>
    </properties>
  </profile>

  <profile>
    <id>pro</id>
    <properties>
      <funnyboy.env>http://www.cnblogs.com/funnyboy0128</funnyboy.env>
    </properties>
  </profile>

</profiles>

 

2、資源 文件,例如xx.html中引用JS如下:

 <script type="text/javascript" src="@funnyboy.env@/test.js"></script>

 

3、打完包測試一下:

mvn package -Pdev后查看應用包的xx.html,內容如下:<script type="text/javascript" src="http://www.cnblogs.com/funnyboy0128-test/test.js"></script>

mvn package -Ppro后查看應用包的xx.html,內容如下:<script type="text/javascript" src="http://www.cnblogs.com/funnyboy0128/test.js"></script>

經過測試OK。

 


免責聲明!

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



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