V případě, že se Váš Maven projekt skládá z více modulů (jako zde: http://docs.codehaus.org/display/MAVENUSER/Multi-modules+projects) a chcete používat Jetty server, pak velice rychle zjistíte, že na toto Jetty plugin out-of-the box nefunguje, protože nezvládne dotáhnout dependency z modulů. Je nutné použít konfiguraci pluginu, která je uvedena níže.
Navíc pokud používáte Spring, pak tato funkcionalita funguje pouze pro Jetty 8.X a bude opět fungovat od Jetty 9.0.4 (tato verze v době psaní této novinky zatím nevyšla). V Jetty 9.0.X je chyba, kvůli které se při reloadu aplikace nenačítají listenery (a u Spring webové aplikace se používá ContextLoaderListener pro definici root kontextu).
Tuto konfiguraci dejte do parent pom.xml:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.8.v20121106</version>
<configuration>
<!-- interval hlidani zmen ve tridach aplikace -->
<scanIntervalSeconds>3</scanIntervalSeconds>
<webAppConfig>
<!-- context web. aplikace -->
<contextPath>/eshop-web</contextPath>
<!-- vlozi moduly do classpath -->
<!-- tato aplikace ma tri moduly: -->
<!-- eshop-web, eshop-service, eshop-repository --> <extraClasspath>
eshop-web/target/classes;
eshop-service/target/classes;
eshop-repository/target/classes
</extraClasspath> </webAppConfig>
<!-- pri zmene tridy se provede redeploy web. aplikace -->
<scanTargets>
<scanTarget>eshop-web/target/classes</scanTarget> <scanTarget>eshop-service/target/classes</scanTarget> <scanTarget>eshop-repository/target/classes</scanTarget> </scanTargets>
<!-- kde jsou HTML / JSP soubory web. aplikace -->
<webAppSourceDirectory>eshop-web/src/main/webapp</webAppSourceDirectory>
</configuration>
</plugin>
Aplikaci poté spustíte pomocí:
mvn compile jetty:run
Poznámka: Maven goal compile Vaši aplikaci zkompiluje (vytvoří adresář target s podadresářem classes) a jetty:run spustí embeddovaný Jetty server.
Poznámka: Tuto funkcionalitu také nabízí Eclipse plugin Run-Jetty-Run, který je možné nainstalovat z Eclipse Marketplace.
Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek
Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.
Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.