Maven Projekt mit WTP Unterstützung einrichten

veröffentlicht am 25. September 2011

Heute wollte ich ein Maven Projekt mit WTP Unterstützung anlegen, doch scheinbar gibt es keine einfache Möglichkeit, ein solches Projekt in Eclipse einzurichten, es sei denn, man bedient sich aufgeblähter Archetypes. Ich bin der Sache eben einmal auf den Grund gegangen und habe erarbeitet, wie man am einfachsten ein schlankes Webprojekt mit Maven und WTP Unterstützung einrichtet.

Dieser Artikel ist veraltet. Es existiert ein WTP Plugin für m2eclipse, mit dem alles out-of-the-box funktioniert.

Zunächst legst du mit m2eclipse ein neues Maven-Projekt an:

Im folgenden Dialog wählst du Create a simple project (skip archetpe selection) aus:

Danach gibst du wie gewohnt die Daten für dein Artefakt ein:

Nachdem das Projekt angelegt wurde, ergänzt du die pom.xml um folgenden Abschnitt:

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>2.3.2</version>
			<configuration>
				<source>1.6</source>
				<target>1.6</target>
			</configuration>
		</plugin>
	</plugins>
</build>

Dann aktivierst du wie folgt die WTP-Unterstützung für das Projekt (Run asMaven build…):

Per Konsolenausgabe wirst du darauf hingewiesen, das clean-Goal auszuführen (Run as → Maven clean). Danach musst du die Projekt Konfiguration neu einlesen (Maven → Update Project Configuration…).

Das Projekt besitzt bereits den Ordner src/main/webapp. Füge diesen zum Buildpath hinzu. Danach erstellst du den Ordner src/main/webapp/WEB-INF und darin wiederum die Datei web.xml mit folgendem Inhalt (wobei du den display-name durch deinen eigenen Projektnamen ersetzen solltest):

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

</web-app>

Eclipse wird wahrscheinlich noch folgende Fehlermeldung ausgeben: Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result.

Um diese Fehlermeldung zu beseitigen, klickst du mit der rechten Maustaste auf die Fehlermeldung, wählst Quick fix, markierst im folgenden Fenster den Eintrag Mark the associated raw classpath entry as a publish/export dependency und klickst auf Finish:

Nun sollte das Maven Projekt mit WTP Unterstützung fertig eingerichtet sein. Dieses Projekt kann noch mit jetty im Hot Deployment Modus erweitert werden, um Änderungen bequem ohne manuelles neu deployen der Anwendung testen zu können.

Kommentare

Vielen Dank!

Für mich ist das auch ein ständiges Ärgernis. Allerdings habe ich jetzt für mich den Weg gewählt, zunächst ein normales Dynamic Webproject anzulegen und anschließend Maven hinzuzukonfigurieren. Bei dieser Variante brauche ich auch kein Archetype zuverwenden (was ansich ja nicht schlimm wäre).

Man stellt sich allerdings trotzdem die Frage, warum das nicht einfacher geht. Aber vermutlich haben wir da was noch nicht richtig verstanden ;-)

Kommentar #1 von Randy Gupta am 27. September 2011


Also wie ich schon geschrieben habe, gibt es eine einfachere Möglichkeit über einen der zahlreichen webapp-Archetypes. Nur finde ich diese schon immer zu aufgebläht und lege deshalb lieber alles von Hand an.

Kommentar #2 von Patrick am 27. September 2011


Hinterlasse einen Kommentar