Eclipse/Tomcat Deployfrage

chickenwings

Erfahrenes Mitglied
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
 
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
 
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
Code:
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
 
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
 
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é
 
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
 
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
 
Zurück