# Maven Eclipse Tomcat



## Guest (28. Feb 2008)

Hallo,

ich versuche gerade ein Maven Projekt im Eclipse mit dem Tomcat zum laufen zu bringen. Erstellt habe ich das Projekt mit "mvn archetype:create", dann "mvn eclipse:exlipse". Zu letzt wird das Projekt ins Eclipse importiert.

Wenn ich jetzt aber eine Apache Tomcat Runtime einfüge kann ich das Projekt nicht mit "Add/Remove Projects" hinzufügen.

Danke, lg
Ronald


----------



## maki (28. Feb 2008)

Hättest du den richtigen achetype gewählt wüsste Eclipse jetzt das es sich um ein Webprojekt handelt


----------



## Guest (29. Feb 2008)

Ich habe mvn mit dem Parameter "-DarchetypeArtifactId=maven-archetype-webapp" aufgerufen. Das ist ja der für die webapp hab ich mir gedacht. Im Eclips hab ich auch keinen Webcontent-Folder.

Danke, lg
Ronald


----------



## maki (29. Feb 2008)

Es soll auch kein Webcontent Folder erzeugt werden, maven macht das nach seiner Konvention.

Was ist denn als packaging in der pom angegeben?

Übrigens, ime ist das starten/testen von Webapps mit maven etwas anders als mit normalen Projekten, das hinzufügen von Projekten nutzt dir nicht viel, da alles vom target Verzeichniss gestartet werden muss, da reicht es den Pfad bei den Server Modules mit "Add External Web Module" anzugeben.


----------



## rpeinsip (29. Feb 2008)

Im packageing ist "war" angegeben.

Kannst du mir bitte beschreiben wo ich die Server Modules finde und "Add External Web Module" angeben?

Danke,
Ronald


----------



## maki (29. Feb 2008)

In der View rechtsklick auf einen Server -> Open, tab "modules" öffnen, den Button "Add External Web Module" klicken und denn vollen Pfad angeben, zB C:\sources\java\workspace\deinProjekt\target\deinProjekt-version....

Natürlich erst nach einem Install 

Es soll auch ein Tomcat plugin geben was das testen erleichtert, ich nutze das SysDeo Plugin zur Tomcat Steuerung.


----------



## rpeinsip (29. Feb 2008)

Hallo Maki,

irgendwie funzt das net so wie ich will... , er findet das Webmodul nicht.

Pfad von meinem War-File:
C:\Allg\_projekte_j2ee\my-webapp\target\my-webapp-1.1.war

Was geb ich jetzt bei Document base an und was bei Path?

Danke,
Ronald


----------



## maki (29. Feb 2008)

Vergiss das war file, du interessierst dich für die "exploded" version.


----------



## rpeinsip (29. Feb 2008)

Was meinst du damit?

Eigentlich will ich ja nur folgende jsp aufrufen:

C:\Allg\_projekte_j2ee\my-webapp\target\my-webapp-1.1\index.jsp


----------



## maki (29. Feb 2008)

C:\Allg\_projekte_j2ee\my-webapp\target\my-webapp-1.1\

Das ist der Pfad den du bei "Add External Web Module" einfügen solltest.

Achtung: Änderst du etwas an den JSP/HTML/CSS/JavaScript Dateien, musst du danach erst das Goal war:exploded aufrufen, dann werden die geänderten Dateien ins target kopiert und der TC merkt das und lädt sie neu.

Änderst du etwas an Java-Klassen, XML oder Property Dateien musst du den TC stoppen und danach als goal install wählen.


----------



## rpeinsip (29. Feb 2008)

Da muss ich jetzt aber trotzdem noch eine Document Base angeben. Ist egal.

Ich versuch es jetzt über das pom.xml. Dort kennt er allerdings das <deploy> Tag nicht.


----------



## maki (29. Feb 2008)

Dir ist der Unterschied zwischen einem install und einem Build klar?


----------



## rpeinsip (29. Feb 2008)

Ich hoffe schon:

Build macht er mir das war-File auf:
C:\Allg\_projekte_j2ee\my-webapp\target\my-webapp-1.1.war

Install ins maven-repository:
C:\Dokumente und Einstellungen\Administrator\.m2\repository\mycompany\my-webapp\1.1\my-webapp-1.1.war

Wobei mein Plug-In bei Maven-Build und Install das selbe macht:
Mein pom.xml:
<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>mycompany</groupId>
  <artifactId>my-webapp</artifactId>
  <packaging>war</packaging>
  <version>1.1</version>
  <name>my-webapp Maven Webapp</name>
  <url>http://maven.apache.org</url>
</project>

Was ich möchte ist das ich meine Maven Anwendung beim lokalen Entwicklen im Tomcat testen kann. Möglichst einfach...


----------



## rpeinsip (29. Feb 2008)

Hallo Maki,

ich werde mir das ganze am Mo mit einem Kollegen anschauen, mal ein paar Grundlagen klären... 

Trotzdem vielen Dank für deine Hilfe!

Ronald


----------



## rpeinsip (3. Mrz 2008)

maki hat gesagt.:
			
		

> Achtung: Änderst du etwas an den JSP/HTML/CSS/JavaScript Dateien, musst du danach erst das Goal war:exploded aufrufen, dann werden die geänderten Dateien ins target kopiert und der TC merkt das und lädt sie neu.
> 
> Änderst du etwas an Java-Klassen, XML oder Property Dateien musst du den TC stoppen und danach als goal install wählen.



Hallo Maki,

das Hinzufügen zum Server funkt. nun...  Er zeigt mir auch den Inhalt der index.jsp an. Jedoch werden Änderungen in der *JSP* nur durch ein Install u. Server stoppen/starten aktualisiert. 

Ich finde ich das goal war:exploded nicht.

Ich habe folgende goals:
validate
initialize
generate-sources
generate-resources
compile
process-classes
generate-test-source
process-test-source
test-compile
process-test-classes
test
prepare-package
package
pre-integration-test
integration-test
post-integration-test
verify
install
deploy

Weißt welches es ist oder fehlt mir das?

Danke, lg
Ronald


----------



## maki (3. Mrz 2008)

schreib doch einfach war:exploded bei Goals im Eclipse run dialog.


----------



## rpeinsip (3. Mrz 2008)

da kann man nur vordefinierte goals auswählen.

pom.xml/re. Mouse/Run As/Maven Build.../Select goal

Wo finde ich die freie Eingabe?


----------



## maki (3. Mrz 2008)

???

Nutzt du das M2 plugin?

Kannst du mal bitte einen Screenshot des run Dialogs posten?


----------



## rpeinsip (3. Mrz 2008)

ja ich nutze das m2eclipse plugin.

screenshots liegen unter meinen eigenen dateien, keine ahnung wie man hier sonst screenshots hochläd.


----------

