2012-08-08 48 views
2

我正在使用mvn clean install -Dlifecycle=dev構建一個war文件。所以我有變數lifecycleMAVEN,如何刪除基於環境的JSP頁面

現在我的要求是,當我爲​​創建構建文件時,它必須從包中排除一個jsp(index.jsp)。我的jsp位於與資源並行的webApps目錄中。

使用profile只適用於一個頁面過濾不是好主意,我認爲。

感謝任何幫助。

回答

3

它從一個JSP開始。接下來是一個自定義的CSS。然後不同的數據庫屬性...

配置文件是要走的路。只需創建一個,set its activation to the value of the variable,使用JSP創建另一個源文件夾並將其添加到配置文件中的資源。

所以:

  • 在項目文件夾中創建一個文件夾src/dev/webapp(所以它是平行於src/main/webapp
  • 添加一個配置文件到您的pom.xml了配置戰爭插件

 

<profiles> 
    <profile> 
     <activation> 
      <property> 
       <name>lifecycle</name> 
       <value>dev</value> 
      </property> 
     </activation> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>2.2</version> 
        <configuration> 
         <webResources> 
          <resource> 
           <directory>src/dev/webapp</directory> 
          </resource> 
         </webResources> 
        </configuration> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 
</profiles> 

當變量lifecycle設置爲dev時,會將src/dev/webapps中的資源複製到合併的目標文件夾中。

即使這些都是用於複製單個文件的相當多的XML行,我認爲在使用Maven時不同意這樣做(例如,使用刪除文件的插件)並不是一個好主意。雖然您可以自定義Maven構建,以便它們不再被識別,但整個想法是使用約定,以便其他人可以輕鬆閱讀該過程。

+0

我只用插件做的一切。我可以用插件來做到這一點。如果您提供任何樣品,將會有所幫助。 – amicngh 2012-08-08 12:31:48

+0

我添加了一個樣本配置文件。 – 2012-08-08 16:02:05