2012-08-31 22 views
1

我是Spring MVC,Tiles和Maven框架的新手,我希望有人會指導我更好地實踐更新平臺相關屬性的正確方向。我有一個tiles.xml文件,它用JavaScript/CSS導入列表定義了一個到JSP的路徑。如何在Maven包裝中動態更新tiles.xml中的常量值?

<definition name="abc" extends="base.definition"> 
    <put-attribute name="imports" value="/WEB-INF/jsp/imports.jsp" /> 
</definition> 

在部署期間,我想改用進口的,其在不同的JSP文件中列出的JavaScript/CSS文件minified的版本。

<put-attribute name="imports" value="/WEB-INF/jsp/importsMinified.jsp" /> 

我假設交換的資源或重寫可以在本tiles.xml或某種性質的文件的MVN部署生命週期的一個過程定義環境的具體定義的內容。但是,我無法找到完成此任務的好例子。如果有人遇到過這種情況,能否請您告訴我什麼是切換進口的更好解決方案?我也不確定分成兩個JSP文件是否是更好的解決方案。

謝謝

+0

我意識到一個類似的帖子,其中web.xml可以使用maven-war-plugin和配置文件進行切換,其中被使用。 http://stackoverflow.com/questions/3298763/maven-customize-web-xml-of-web-app-project 因此,如果我想對tiles.xml執行相同的操作,是否支持特定的標記在maven-war-plugin中?如果不是,如何應用include/exclude來決定在給定的配置文件ID上導入哪些tiles.xml? – syamashi

回答

1

我不知道一個插件,會爲你做的專門爲的,但你總是有行家過濾器更換變量的文件。

例如...

的pom.xml

<build> 
    <resources> 
    <resource> 
     <directory>src/main/webapp/WEB-INF</directory> 
     <filtering>true</filtering> 
     <includes> 
     <include>**/tiles.xml</include> 
     </includes> 
    </resource> 
    </resources> 
</build> 

tiles.xml

<definition name="abc" extends="base.definition"> 
    <put-attribute name="imports" value="/WEB-INF/jsp/${importsjsp}" /> 
</definition> 

從這裏,你對如何管理imports.path屬性選擇:

  • 通過命令行上的一個屬性mvn -Dimportsjsp=importsMinified.jsp package
  • 將一個profiles節添加到您的pom,它具有不同的值。致電maven通過-P切換明確選擇您的配置文件,或通過滿足激活要求。
+0

是的,這正是我所做的。感謝您的跟進。 – syamashi