Maven Web-Anwendung
In diesem Kapitel lernen wir, wie man das Versionskontrollsystem Maven verwendet, um ein webbasiertes Projekt zu verwalten, und wie man eine Webanwendung erstellt, baut, bereitstellt und ausführt.
Webanwendung erstellen
Wir können das Plugin maven-archetype-webapp verwenden, um eine einfache Java-Webanwendung zu erstellen.
Öffnen Sie die Befehlskonsole, wechseln Sie in den Ordner C:\MVN und führen Sie dann den folgenden mvn-Befehl aus:
C:\MVN>mvn archetype:generate -DgroupId=com.companyname.automobile -DartifactId=trucks -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
Nach der Ausführung beginnt Maven mit der Verarbeitung und erstellt eine vollständige Verzeichnisstruktur für das Java-Webprojekt.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] -------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Batch mode
[INFO] --------------------------------------------------------------------
[INFO] Using following parameters for creating project
from Old (1.x) Archetype: maven-archetype-webapp:1.0
[INFO] --------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.automobile
[INFO] Parameter: packageName, Value: com.companyname.automobile
[INFO] Parameter: package, Value: com.companyname.automobile
[INFO] Parameter: artifactId, Value: trucks
[INFO] Parameter: basedir, Value: C:\MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MVN\trucks
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -------------------------------------------------------------------
[INFO] Total time: 16 seconds
[INFO] Finished at: Tue Jul 17 11:00:00 IST 2012
[INFO] Final Memory: 20M/89M
[INFO] -------------------------------------------------------------------
Nach der Ausführung sehen wir das Projekt trucks unter dem Ordner C:/MVN. Zeigen Sie die Verzeichnisstruktur des Projekts an:

Die Maven-Verzeichnisstruktur ist standardisiert, und der Zweck jedes Verzeichnisses ist in der folgenden Tabelle dargestellt:
| Ordnerstruktur | Beschreibung |
|---|---|
| trucks | Enthält den src-Ordner und die pom.xml-Datei. |
| src/main/webapp | Enthält die Datei index.jsp und den Ordner WEB-INF. |
| src/main/webapp/WEB-INF | Enthält die Datei web.xml |
| src/main/resources | Enthält Bilder, properties-Ressourcendateien. |
Der Code der pom.xml-Datei lautet wie folgt:
Öffnen Sie als Nächstes den Ordner C:\ > MVN > trucks > src > main > webapp, und Sie sehen eine bereits erstellte index.jsp-Datei mit folgendem Code:
Webanwendung erstellen
Öffnen Sie die Befehlszeile, wechseln Sie in das Verzeichnis C:\MVN\trucks und führen Sie dann den folgenden mvn-Befehl aus:
C:\MVN\trucks>mvn clean package
Maven beginnt mit dem Build des Projekts:
[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------
[INFO] Building trucks Maven Webapp
[INFO] task-segment: [clean, package]
[INFO] -------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (Cp1252 actually) to
copy filtered resources,i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] [compiler:compile {execution: default-compile}]
[INFO] No sources to compile
[INFO] [resources:testResources {execution: default-testResources}]
[WARNING] Using platform encoding (Cp1252 actually) to
copy filtered resources,i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
C:\MVN\trucks\src\test\resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] No tests to run.
[INFO] [war:war {execution: default-war}]
[INFO] Packaging webapp
[INFO] Assembling webapp[trucks] in [C:\MVN\trucks\target\trucks]
[INFO] Processing war project
[INFO] Copying webapp resources[C:\MVN\trucks\src\main\webapp]
[INFO] Webapp assembled in[77 msecs]
[INFO] Building war: C:\MVN\trucks\target\trucks.war
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] -------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Tue Jul 17 11:22:45 IST 2012
[INFO] Final Memory: 11M/85M
[INFO] -------------------------------------------------------------------
Webanwendung bereitstellen
Öffnen Sie den Ordner C:\ < MVN < trucks < target, suchen Sie die Datei trucks.war, kopieren Sie sie in das Webanwendungsverzeichnis Ihres Webservers und starten Sie dann den Webserver neu.
Webanwendung testen
Greifen Sie auf die folgende URL zu, um die Webanwendung auszuführen:
http://:/trucks/index.jsp
Überprüfen Sie das Ergebnis:
