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:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.automobile</groupId> <artifactId>trucks</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>trucks Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>trucks</finalName> </build> </project>

Ö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:

<html> <body> <h2>Hallo Welt!</h2> </body> </html>

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:

Andere Erweiterungen