Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Entorn desenvolupament
Eclipse + Tomcat + Subversion + Maven
2
Com volem el nostre entorn?
Volem entorn per poder desevolupar còmodament aplicacions web Java Volem que sigui fàcil poder construir i empaquestar les aplicacions, sense necessitar el IDE que fem servir per programar Volem poder emmagatzemar el codi font de forma que tinguem un control de versions
5
Afegim el Tomcat a Eclipse
6
Tomcat + Eclipse Li diem a Eclipse on està el Tomcat
Eclipse crea un projecte Servers Podem parar-lo i engegar-lo a la pestanya servers Veiem els logs en consola Eclipse permet afegir i treure al Tomcat projectes de tipus web
7
Plugin maven: m2e-wtp
8
Què és Maven? És una eina per gestionar el cicle de vida d’un projecte Java Línia de comandes Semblant al “make”, pero més declaratiu Declarem en un fitxer les característiques del projecte i en base a aixo sap que ha de fer Proporciona una forma unificada de construir un projecte i uns estàndars
9
Nomenclatura de Maven Artifacts Archetypes Repositoris
Son els projectes que gestiona Maven Definits per grup, id i versió Archetypes Son esquelets de projecte. Per exemple, una aplicació normal o una aplicació web. Repositoris Maven té un repositori central amb les totes les versions de les llibreries més utilitzades Repositori local on deixa els nostres artifacts
10
Cicle de vida de projecte
- Obtenir dependències, Compilar el codi, copiar els fitxers de recursos… compile test - Passar els jocs de prova (JUnit) i aturar el procés si no es passen package - Generar el paquet del projecte (jar, war…), o sigui, el “artifact” install - Copiar el artifact val repositori local deploy - Copiar el artifact al repositori remot (no confondre amb fer deploy a Tomcat)
11
Estructura de directoris estàndar
/src/ /main/ projecte propiament /java/ fitxers per compilar /resources/ fitxers no compilables /test/ tests del projecte /java/ /resources/ /target/ fitxers compilats i paquets /pom.xml
12
Pom.xml Fitxer on definim el projecte
Grup, ID i versió per definir el artifact Dependències d’altres llibreries Plugins addicionals que pugui necessitar i en quina fase del cicle de vida s’utilitzen Ex: excutar l’aplicació en un Tomcat Perfils Ex: versio de desenvolupament / producció
13
Dependències És la característica més important de Maven
Al pom.xml declarem els artifacts dels que depen el nostre projecte Maven va a buscar-los al seu repositori i els deixa al repositori local Es baixa l’arbre complet de dependències de forma automàtica
14
I que pinta Eclipse aquí?
Plugin que inclou Maven Crea els projectes amb l’estructura de directoris de maven i el pom.xml Al revés, genera la configuració de Eclipse a partir d’un pom.xml Eclipse crida a maven per les tasques de compilació i per gestionar les dependències Resultat: tenim un projecte Eclipse + Maven
15
Exemple: Places lliures
Farem una pàgina que crida la URL que retorna les places lliures a les aules de la FIB en format JSON. Crearem un projecte Maven de tipus web Maven-webapp-archetype Dependències: json-lib, per parsejar el fitxer JSTL, per la pàgina on es mostrarà servlet-api-2.5, pel Tomcat
16
Últim pas: Subversion Permet treball en equip sobre un mateix projecte, mantenint versions Cal un plugin a eclipse Eclipse marketplace: subclipse Per compartir un projecte Team > Share Project, seleccionar SVN Especificar un repositori Pugem el projecte al nostre repositori
17
Subversion a la FIB La FIB proporciona un servidor subversion
Protegit i privat amb user/pass del Racó Possibilitat de compartir amb altres usuaris del Racó (companys de pràctiques)
18
Operacions bàsiques Update Commit Checkout / import
Obté els últims canvis que s’han fet Fer-ho sempre abans de començar a treballar Ens assegurem de tenir una versió “fresca” amb els últims canvis Commit Envia els canvis al servidor Deixa posar un comentari. Es una bona pràctica Checkout / import Baixar un projecte / importar-lo
19
Convencions del repositori
trunk Es on tenim la versió principal del nostre projecte Compila i funciona (i si no, no s’hauria de pujar) tags Una carpeta per cada versió Permet fer un “update” del codi a una versió branches Son branques amb desenvolupaments “a mitges” Un cop provades, es fa un “merge” amb el trunk
20
Concurrència Què passa si dos persones editen el mateix fitxer al mateix temps? Usuari 1: update i edita el aules.jsp Usuari 2: update i editar el aules.jsp Usuari 1: commit dels canvis Usuari 2: commit dels canvis Si no han tocat exactament la mateixa línia, es fa un merge dels 2 fitxers. Si han tocat el mateix: conflicte!
21
Línia de comandes Maven i SVN tenen linia de comandes
Podem alternar l’us desde dintre d’Eclipse i des de fora (com a molt fem un “refresh”) Maven permet en linia de comandes cridar a plugins per fer moltes més coses Des d’eclipse es pot pero s’han de crear “run configurations” i no és tan àgil
22
Traient suc a l’entorn muntat…
Executar l’aplicació maven en un Tomcat propi, només amb Maven Mvn Tomcat:run Enviar l’aplicació a un Tomcat remot utilitzant el Tomcat Manager Primer configurem el pom.xml Mvn tomcat:deploy –Pdev Mvn tomcat:deploy -Pprod
23
Traient més suc a l’entorn muntat…
Crear una versió: canviar el pom.xml, pujar la versió al SVN i crear un tag Mvn release:prepare Mvn release:perform Fer un web amb la informació bàsica del projecte: javadocs, anàlisis del codi… Mvn site:site
24
Integració contínua Quan algú puja codi al subversion…
Baixa el codi del repositori Compila (amb Maven no cal Eclipse!) Passa els testos Si algo falla, envia un mail A les nits (nightly build) Baixem el que hi ha al repositori Construim el projecte i el deixem públic Generem informes
25
Què més podriem fer Mantenir un ranking de les persones que han pujat més codi Mantenir un ranking de qui ha fet petar més vegades la compilació Publicar automàticament l’aplicació Executar testos més complicats Pujar l’aplicació a un servidor de prova Passar un test de càrrega
26
Conclusions Maven ens ajuda a organitzar el nostre projecte i a que poguem construir-lo desde linia de comandes Eclipse ens permet facilment treballar amb Maven, no hem de triar un o altre Des d’eclipse podem gestionar el nostre codi a Subversion … si ho tenim tot, podem tenir majordom!
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.