Maven trik: Jak při vývoji a produkci používat jiný soubor web.xml

publikováno: 5.6.2013

Někdy můžete chtít pro vývoj a produkci používat jiný web.xml soubor. Jak na to? Pomocí Maven profilů v kombinaci s pluginem maven-war-plugin.

Jestli chcete vědět víc o Maven profilech, pak následujte tento odkaz: http://maven.apache.org/guides/introduction/introduction-to-profiles.html

K použití jiného web.xml souboru v závislosti na aktuálním profilu přidejte do pom.xml:

<properties>
 <!-- pri vyvoji se bude pouzivat tento web.xml soubor -->
 <web.xml.path>src/main/webapp/WEB-INF/web.xml</web.xml.path>
</properties>
<profiles>
 <profile>
  <id>production</id>
  <!-- pri nasazeni se bude pouzivat tento web.xml soubor -->
  <properties>
   <web.xml.path>src/main/webapp/WEB-INF/web-prod.xml</web.xml.path>
  </properties>
 </profile>
</profiles>
<plugins>
 <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <configuration>
   <webXml>${web.xml.path}</webXml>
  </configuration>
 </plugin>
</plugins>

 

Reference

Skoleni bylo kazdopadne prinosne, i kdyz ve Springu uz chvilku delam, dodalo mi to kontext a hlubsi porozumeni. Libil se mi i prehled dalsich frameworku, jejich prakticke vyuziti a ze

Daniela

Školení bylo profesionální jako vždy (přesto v přátelském a otevřeném duchu). Je vidět, že Jirka je v dané problematice jako ryba ve vodě a neustále se posouvá kupředu, k čemuž

Aleš

Vyborna forma skoleni - vedeno lektorem podle dane linie se zacilenim na konkretni problematiku, nicmene s moznosti kdykoliv odbocit co vic upresnit problematiku na zaklade dotazu. Velmi uzitecne zejmena v

Petr


Novinky

6.5.2018: Java Mission Control je nyní open source - konečně!

5.4.2018: Jak hodně artifactů v Mavenu je připravených na použití v module path?
Od Java 9 je možné místo class path používat module path. K tomu je ale důležité, aby každý artifact který používáte měl definované jméno

26.3.2018: Java 10 je tady, Java 9 je EOL
Ještě jsem všude nepřešel na Java 9 a devítka už je EOL (End of Life).