# Eclipse/Tomcat Deployfrage



## chickenwings (11. Dezember 2009)

Hallo,

habe mir in Eclipse ein Tomcat Projekt angelegt. Jetzt ist der normale Weg, das Projekt in eine .war zu exportieren, dann in den webapps-Ordner des Tomcat zu kopieren und den Server zu starten.

Da ich in Eclipse aber bereits die Verbindung zum Tomcat habe, frage ich mich, ob es nciht einen einfacheren Weg gibt, den Deploy-Vorgang meines Projekts nach Tomcat vorzunehmen?

Grüsse,
chickenwings


----------



## zerix (13. Dezember 2009)

Hallo,

wenn du ein Dynamic-Web-Project anlegst, kannst du dein Projekt unter Modules in den Servereinstellungen angeben. 
Dann brauchst du das Projekt nicht immer wieder zu exportieren.

Generell musst du nicht dein Projekt exportieren und dann den Tomcat starten. Tomcat 6 unterstützt Hot-Deploy, d.h. sobald du das WAR-File in den Webapp ordner schiebst, wird es deployed.

Gruß

Sascha


----------



## chickenwings (14. Dezember 2009)

Hallo,

hmm, ich bin nicht sicher, was Du genau mit _Modules unter Servereinstellung_ meinst. Wenn es aber der Bereich _Add and Remove_ ist, wo ich die Ressourcen hinzufügen oder entfernen kann, dann ist mein Projekt da bereits aufgenommen.
Wenn ich Änderungen an meinem Servlet vornehme, aktualisiert sich zwar die Konsole in Eclipse 
	
	
	



```
Reloading this Context has started
```
 aber so richtig Hot Deployed wird da leider nichts. Komisch ist auch die Tatsache, dass ein Start des Tomcat aus Eclipse heraus, meine .war unter webapps überhaupt nicht deployed (Ordner erscheint nicht). Nur bei manueller Ausführung der startup.bat wird mein Projekt offensichtlich deployed. Irgendwo scheint die Verbindung noch zu haken. Kann es was mit dem _Context declaration mode_ zu tun haben? Da ist bisher nur die Option _Server.xml_ gesetzt.

Grüsse,
chickenwings


----------



## DirkHo (14. Dezember 2009)

Hi chickenwings,

ich habe bei mir auch einen Tomcat 6 am Laufen in Eclipse und unter "Add and Remove" mein Projekt eingefügt und kann es auf diese Art und Weise durch Starten des Servers "deployen" (Tomcat synchronisiert sich automatisch) und ich kann dann über localhost:8080/... die Seite aufrufen.

Irgendwas besonderes habe ich dafür nicht angelegt/eingestellt - hätte da wohl auch zu wenig Ahnung voll.

Falls du etwas außerhalb von Eclipse änderst, dann musst du erst dein Projekt aktualisieren, ehe das auf den Server kommt.

Achso: Als .war mache ich dabei gar nichts. Wenn das Projekt fertig ist, dann führe ich mein Build-File aus und bekomme dann eine .jar, die dann auf den Server im Inter-/Intranet deployed wird. Vorher baue ich keine .war.

Ich denke nicht, dass dir das jetzt bei der Lösung helfen wird, aber wollte das nur schreiben, dass du siehst, dass es auch theoretisch so gehen müsste, dass man keine .war bauen muss, sondern eben direkt aus dem Projekt heraus das Ganze startet.

Viele Grüße, Dirk


----------



## chickenwings (14. Dezember 2009)

Hallo Dirk,

ich bin mir auch sicher, dass es irgendwie geht. Ich lege nicht unbedingt grossen Wert darauf eine .war zu haben, wie das Format aussieht ist mir letztendlich egal, hauptsache es läuft in meinem Tomcat. An ein build-Script habe ich auch schon gedacht, nur weiss ich schon mal gar nicht was da hinein gehört, vielleicht kannst Du mir Deines mal zeigen Und wohin genau wird dann die .jar in den Server hinkopiert? Direkt unter webapps?

Viele Grüsse,
André


----------



## DirkHo (14. Dezember 2009)

Hi André,

also ein Build-Skript brauchst du dafür nicht. Ich arbeite lokal ja auch einfach nur über Eclipse. Das .jar brauche ich nur, wenn wir das ganze auf die Entwicklungs-/Test- oder Produktivserver deployen. Da läuft eine Anwendung bei uns im Geschäft im Hintergrund, die das dann auf den Server deployed (wie das genau funktioniert weiß ich nicht). Das .jar liegt dann aber nicht unter webapps, sondern unter htdocs/web-inf/lib.

Das Build-Skript deployt auch nichts, sondern baut mir nur das .jar - darf ich aber wohl eher nicht hier reinposten, da das was ist, was ich im Geschäft gemacht habe (bin nur im Praxissemester -> weiß auch nicht, inwiefern man daraus was posten darf oder so). Sorry!

Mach doch mal einen Doppelklick auf deinen Tomcat-Server (Registerreiter "Server" in Eclipse und dann Doppelklick drauf). Dann kommt eine Seite "Overview". Mach doch mal davon einen Screenshot und von dem was unter "Open Launch configuration" steht. Bin kein Tomcat-Profi, aber vielleicht erkenne ich ja einen großartigen Unterschied.

Schau dir auch mal die Server locations an, die unter o.g. Overview-Seite zu finden sind. Kannst da was eintragen/hast du da was eingetragen? Bei mir ist das ausgegraut, vll. liegt's ja daran!

Viele Grüße,

Dirk


----------



## zerix (14. Dezember 2009)

Du hast dein Projekt richtig hinzugefügt. Du kannst dein Projekt dann im Browser aufrufen mit der Bezeichnung die bei Add/Remove(Modules) angegeben ist. 
Dafür muss es nicht webapp-Verzeichnis von Tomcat sein. 

Du musst es erst als WAR exportieren, wenn du es ausliefern möchtest, bzw auf einem anderen Server laufen lassen möchtest. 

Sonst funktioniert es unter Eclipse ohne es einmal deployen zu müssen. Wie gesagt, du musst es halt unter dem Tab Modules in den Servereinstellungen angeben. Da wird auch ein Path angegeben, für jedes Projekt. Das ist der Path den du im Browser angeben musst.

Gruß

Sascha


----------

