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,假設分別對應到生產環境和開發環境,則處理以下:javascript

一、pom文件以下:html

<build>
  <plugins>
    <plugin>
java

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

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

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

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

</profiles>ui

 

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

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

 

三、打完包測試一下:

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。

相關文章
相關標籤/搜索