Web-Apps in Embedded Tomcat#
Web-Apps können einfach mit dem Tomcat 7 Plugin getestet werden:<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.0-beta-1</version> <configuration> <warSourceDirectory>${project.build.directory}/${project.build.finalName}</warSourceDirectory> </configuration> </plugin>
Dynamisches Deployen der JSPs#
Werden JSPs oder anderne Ressoucen geändert, möchte man diese direkt ändern, ohne den kompletten Build-Zyklus laufen zu lassen. Mit dem M2E-Plugin für Eclipse, der den Build-Cycle direkt mit Maven verbindet, kann dies einfach erreicht werden:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.5</version> <executions> <execution> <id>copy-jsp</id> <phase>compile</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <resources> <resource> <directory>src/main/webapp</directory> <includes> <include>**/*.jsp</include> </includes> </resource> </resources> <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory> </configuration> </execution> </executions> </plugin>
Hot-Deploy von Klassen#
Soweit es die JVM unterstützt können auch Klassen Hot-Deployed werden. Dazu einfach das Ziel für die compilierten Klassen von Eclipse auf die fertige Web-App legen. Am einfachsten indem gleich das Output-Directory von Maven auf den entsprechenden Pfad gesetzt wird, den Eclipse bei der Projekt-Konfiguration dann gleich übernimmt:<build> <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> ... </build>