Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Tvorba webových aplikací s Apache Maven Využití Mavenu pro efektivní vývoj Jety Pavel Jetenský 29.10.2009.

Podobné prezentace


Prezentace na téma: "Tvorba webových aplikací s Apache Maven Využití Mavenu pro efektivní vývoj Jety Pavel Jetenský 29.10.2009."— Transkript prezentace:

1 Tvorba webových aplikací s Apache Maven Využití Mavenu pro efektivní vývoj Jety Pavel Jetenský

2 1. Založení nové webové aplikace 2. Vývoj webové aplikace 3. Nasazení (deploy) Úkoly při vývoji webu

3 Maven Archetype Plugin Úkol založte si webovku  mvn archetype:create  -DgroupId=net.jetensky.webandmaven -DartifactId=TestWebApp  -DarchetypeArtifactId=maven-archetype-webapp

4 Úkol spusťte aplikaci v tomcatu  mvn package  copy target/TestWebApp.war $Tomcat/webapps  $Tomcat/bin/startup.bat 

5 Úkol na index.jsp zobrazte aktuální čas  IndexControllerServlet.java - do requestu dá "time"  web.xml  registrace nového servletu na *.html  web-app version="2.5"  index.jsp - Cas je: ${time}  Vyzkoušejte to  A teď bude potřeba přidat ještě ${user} - co vše musíte udělat?

6 javax.servlet servlet-api 2.5 provided jstl taglibs standard Dependency k úkolu

7 Vývoj webapp Jak se řeší nutnost buildování Waru?  Build buildí přímo do tomcat/webapps  I tak však usíme při změně kódu pouštět build  Používáme Exploded War a IDE kompiluje do WEB-INF/classes  Při změně.java nutno restartovat tomcat (nebo touch web.xml)  Debugujeme aplikaci přes Java Remote Debugging - změny IDE přenese  Nepřenesou se větší strukturální změny  To řeší Java Rebel - komerční, složitá konfigurace

8 TestWebApp org.mortbay.jetty maven-jetty-plugin 10 Maven Jetty Plugin Vyvíjíme fofrem

9 Úkol vypusťte jettyho 1. mvn jetty:run ve složce aplikace 2. Proveďte změnu v IndexControllerServlet.java - uložte do request scope message a zobrazte na JSP stránce ${message} 3. Propagujte změnu do jettyho 1. Make Idea, Save v Eclipse nebo mvn compile z command line 4. Chvilku počkejte a pak reload v prohlížeči, změny se projeví

10 Maven Cargo Plugin Když jetty nestačí  Automatická instalace kontejneru ze ZIPu z URL  Deploy jednoho nebo více J2EE (War, EAR) do kontejneru  Podporované kontejnery - Jboss, Tomcat, Jetty, Weblogic, OC4j, Jonas Podporované kontejnery  Spuštění kontejneru v rámci integračního testu (HttpUnit, Selenium)  Archetypy: Single Webapp Module Archetype, Separate Functional Test Module Archetype

11 org.codehaus.cargo cargo-maven2-plugin tomcat6x 6/v6.0.20/bin/apache-tomcat zip Cargo - Automatická instalace kontejneru z URL

12 Úkol stáhněte si v buildu tomcat 1. Nakonfigurujte si v pom.xml cargo plugin pro tomcat6x s ZipUrlInstaller 2. mvn package cargo:start 1. Tomcat se stáhne z uvedené URL, rozbalí a spustí s vaší aplikací 3. Ověřte URL v prohlížeči 4. Hotovo :)? Použijte element ZipUrlInstaller/installDir ${project.build.directory}/cargoinstalls

13 org.codehaus.cargo cargo-maven2-plugin... kontejner s ZipUrlInstaller... ${pom.groupId} TestWebApp1 war test1 Deploy více warů Varianta kontejner z URL

14 Úkol deploy více warů Varianta kontejner z URL 1. Vytvořte si TestWebApp1 a TestWebApp2 a instalujte do lokální repo (mvn install) 2. Nakonfigurujte si nový pom.xml s cargo plugin a tomcat6x s ZipUrlInstaller 3. Do pom.xml přidejte TestWebApp1 a 2 jako dependency 4. Přidejte configuration/cofiguration/deployables 5. Spusťte cargo:start 6. Ověřte test1 a test2 v prohlížeči (http://localhost:8080/TestWebApp1/index.html a TestWebApp2/index.html)http://localhost:8080/TestWebApp1/index.html 7. Hotovo:)? Zkuste změnit tomcat za jettyho

15 runtime admin tomcat6x remote remote Deploy více warů Varianta remote container

16 Deploy více warů Tomcat uživatel pro deploy

17 Úkol deploy více warů Varianta remote container 1. Nakonfigurujte si nový pom.xml s cargo plugin a tomcat6x s ZipUrlInstaller 2. Do pom.xml přidejte TestWebApp1 a 2 jako dependency 3. Přidejte configuration/configuration/properties s cargo.tomcat.manager.url (+username, password) 4. Přidejte 5. Spusťte tomcat s nainstalovanou manager aplikací a adminem v tomcat-users 6. Spusťte cargo:deploy 7. Ověřte URL v prohlížeči -

18 ${cargo.remote.password} localhost true admin Deploy více warů profily

19 localhost true... Deploy více warů Výchozí profil - activation/activeByDefault

20 Úkol deploy více warů Varianta remote container - profily 1. Do předchozího příkladu doplňte profil localhost na deploy do tomcatu běžícím na jiné URL. 1. V praxi využití např. tyto profily: 1. localhost deploy na lokálně běžící tomcat vývojáře 2. test deploy na referenční testovací prostředí 3. perf-testdeploy na prostředí pro výkonnostní testy 2. Hotovo? Do profilu localhost doplňte activation/activeByDefault

21 mvn archetype:create -DgroupId=net.jetensky.webandmaven -DartifactId=TestWebApp - DarchetypeGroupId=org.codehaus.cargo - DarchetypeArtifactId= JMENO_ARCHETYPU: cargo-archetype-webapp-single-module Funkční testy jsou v package /it/ v single pom webové aplikace cargo-archetype-webapp-functional-tests-module Funkční testy jsou v samostatném modulu Spuštění kontejneru v rámci integračního testu

22 Úkol spuštění integračních testů (single module) 1.Vytvořte si maven projekt z archetypu cargo-archetype-webapp-single- module 2.Opravte chybný package montreal.demo 1.src\main\java\net\jetensky\webandmaven\SomeClass.java 2.src\test\java\net\jetensky\webandmaven\SomeClassTest.java 3.Spušťte mvn cargo:install 1.zbuilduje se aplikace 2.spustí se Unit testy 3.spustí se Jetty6 s novou aplikací 4.spustí se integrační test WebappTest.java

23 Úkol spuštění integračních testů (multi module) 1.Vytvořte si maven projekt z archetypu cargo-archetype-webapp- functional-tests-module 2.Opravte chybu v package jako v předchozím příkladu 3.Spušťte mvn cargo:install v root složce

24 Prostor pro dotazy Děkuji za pozornost Functional testing with maven and cargo Myšlenky otce Fura - blog o Java (Honza Novotný)Myšlenky otce Fura Jetyho články o vývoji SW na tomto blogu Jetyho blog


Stáhnout ppt "Tvorba webových aplikací s Apache Maven Využití Mavenu pro efektivní vývoj Jety Pavel Jetenský 29.10.2009."

Podobné prezentace


Reklamy Google