Egy vagy több modulos projekt generálás Maven3-al
A teljesség kedvéért egy csokorba szedtem, hogy hogyan lehet egy egyszerű, egy modulos- illetve multi-modulos projektet generálni.
Egy modulos projekt generálása
Ahogy azt az előző blogomban írtam, az egy modulos projekt generáláshoz a következő parancsot kell kiadni:
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.1 -DgroupId=com.thotsoft -DartifactId=rendezes -Dpackage=com.thotsoft.rendezes -Dversion=1.0-SNAPSHOT
Ahol a pirossal jelzett részeket át kell írni azserint, hogy az adott projektben mit akarunk látni.
Ennek hatására le fog gyártodni az egy modulos projekt.
Multi-modulos projekt generálása
Abban az esetben, ha egy JEE alkalmazást akarunk készíteni, akkor az egy modulos projekt nem elég. Olyan projektet kell gyártanunk mely több almodult tartalmaz. A jelen esetünkben a következő almodulokat fogjuk legyártatni:
- EJB modul - az üzleti funkciók megvalósításának a helye (backend)
- WEB modul - a megjelenítési réteg megvalósítása (frontend)
- EAR modul - az Enteprise ARchive előállítására szolgáló modul
Ezen kívül még a fő pom.xml, az úgy nevezett szülő (parent) pom.xml kerül legyártásra, mellyel az egész projektet fogjuk össze.
mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=ejb-javaee6 -DarchetypeVersion=1.5 -DarchetypeRepository=http://repo.maven.apache.org/maven2 -DgroupId=com.thotsoft -DartifactId=test-multimodule-project-ejb -Dversion=1.0-SNAPSHOT -Dbasedir=C:\\work\\test-multimodule-project -Darchetype.interactive=false --batch-mode archetype:generate
Itt is a pirossal kiemelt részeket le kell cserélni a saját projektünk jellemzőire.
A fentiek alapján a következő strukúrájú projekt került legyártásra:
test-multimodule-project/
--/test-multimodul-project-ear
--/test-multimodul-project-ejb
--/test-multimodul-project-web
--/pom.xml
A következő blog bejegyzésemben majd megnézzük, hogy hogyan lehet kiegészíteni egy multi-modulos projektet újabb almodulokkal.