# JBoss Deployment



## hunter1977 (21. Sep 2004)

Hallo,

ich habe gerade ein Problem mit dem deployen von Anwendungen in den JBoss. 
Ich habe meine HelloWorld.ear in .../server/all/deploy/ kopiert und die Anwendung wir auch ohne Schwierigkeite deployed.

Aber, JBoss deployed die Anwendung nach .../server/all/tmp/deploy und erzeugt hier eine Verzeichnis /tmp40979HelloWorld.ear-contents. 

Wenn ich jetzt die ear lösche ist meine Anwendung auch weg und ausserdem deployed der JBoss jedesmal beim Start die Anwendung.

Normalerweise müsste der JBoss die Anwendung doch in einem Verzeichnis HelloWorld anlegen und danach ist das deployen doch beendet.

Ich hoffe ich könnt mein Problem verstehen.

Danke Hunter


----------



## Bleiglanz (21. Sep 2004)

> Wenn ich jetzt die ear lösche ist meine Anwendung auch weg und ausserdem deployed der JBoss jedesmal beim Start die Anwendung


was löscht du denn? im tmp musst du nichts löschen?


----------



## hunter1977 (21. Sep 2004)

Hallo,

ich lösche ja nichts im tmp, sondern ich lösche die .ear oder .war File. Ich möchte ja auch nicht das die Anwendung im /tmp liegt sondern wie zum Beispiel beim Tomcat in einem Verzeichnis --> webapps/meineAnwendung.

Wenn der Tomcat eine Anwendung deployed hat, kann ich dort das war File ja auch löschen.

Hunter


----------



## Guest (21. Sep 2004)

Bei JBoss muss das Ding im deploy-Verzeichnis bleiben, sonst wird es entfernt (undeployed)


----------



## hunter1977 (21. Sep 2004)

Also, wenn ich das war oder ear in dem deploy-Verzeichnis lasse, wird in meinem  .../server/all/tmp/deploy
jedesmal die Anwendung neu geschrieben, bei einem Server start.

Ich habe nämlich Cocoon2 im JBoss installiert und wenn ich dann meine alten Dateien aus dem Tomcat in das tmp Verzeichnis kopiere und ich den Server neustarte, sind diese Änderungen futsch.

Wie kann ich denn sonst JBoss dazu bewegen nicht jedesmal Cocoon neu zu deployen.

Ich dachte immer das im JBoss auch ein Tomcat integriert ist, ich will ja nicht 2 Server haben einen Tomcat und dann noch einen JBoss.

Danke Hunter


----------



## Guest (21. Sep 2004)

.../server/all/*tmp*/deploy ist das falsche Verzeichnis. 
Dort sollst Du auch nichts ändern, es wird von JBoss für deployed'te Sachen
verwendet. Kopiere das Cocoon-Ding nach .../server/all/deploy, dann bleibt 
es dort auch.


----------



## hunter1977 (22. Sep 2004)

Hallo,

das ist doch mein Problem. Ich habe das war File nach /server/all/deploy kopiert, aber der JBoss legt hier kein Verzeichnis an, sondern immer in dem /tmp Verzeichnis.

Ich möchte den JBoss doch dazu bewegen ein Verzeichnis in /server/all/deploy/cocoon anzulegen.

Leider legt der JBoss hier kein Verzeichnis an und das ist ja mein Problem.

Ich hoffe, du verstehst was ich meine.


Danke Hunter


----------



## Bleiglanz (22. Sep 2004)

jboss liest gepackte archive im deploy verzeichnis

=> und entpackt sie ins tmp

wenn du aus dem deploy verzeichnis etwas löscht, dann wird vom jboss die entsprechende anwendung undeployed



> Ich möchte den JBoss doch dazu bewegen ein Verzeichnis in /server/all/deploy/cocoon anzulegen.


Wozu? Warum? So einen Ordner musst du manuell erstellen oder löschen ("von aussen") - was willst du eigentlich genau machen?


----------



## hunter1977 (22. Sep 2004)

Also, ich benutze im Moment den Tomcat. In dem Tomcat deploye ich das war File im webapps Verzeichnis und dort wird ein Verzeichnis Cocoon angelegt.

Danach ist es möglich das war File zu löschen. Cocoon ist eine XML Publishing Engine, mit der ich programmiere.
Ich möchte jetzt allerdings einen Application-Server einsetzen und nicht nur einen Web-Container wie den Tomcat.
Wenn ich Änderungen im Cocoon vornehme sind sie nach dem Neustart alle weg, weil JBoss jedesmal das war File neu deployed.

Dieses ist genau der Punkt, ich will nicht das Cocoon jedesmal neu deployed wird, sondern das der JBoss einmal ein festes Verzeichnis anlegt und gut. Cocoon läuft im Tomcat und weil der JBoss einen Tomcat mitbringt muss es doch möglich sein Cocoon in dem embedded Tomcat zum Laufen zu bekommen.

Oder muss ich das war File irgendwie in den Tomcat kopieren?

Ich hoffe ihr versteht das.

Hunter


----------



## Guest (22. Sep 2004)

Wenn Du Änderungen an Cocoon vornimmst, dann 
packst Du die Änderungen wieder in ein WAR-Archiv und
überschreibst das Ding im server/all/deploy Verzeichnis.
Das alte wird entfernt und das neue deployed.

Das gleiche gilt auch bei Tomcat. Wenn Du eine App deployed 
hast, dann solltest Du nicht die entpackten Archive modifizieren
sondern das ganze ausserhalb von Tomcat erledigen und
neu deployen.

Ich kenne Cocoon zwar nicht aber die Frage hier ist, wie oft 
im Monat wird ein Server wie JBoss neu gestartet?


----------



## hunter1977 (23. Sep 2004)

Okay, das macht Sinn.
Ich werde dann die Änderungen außerhalb durchführen und dann ein war File bauen.
Hast du eine Anleitung oder ein Howto wie ich war Files oder ear Files bauen kann, sowas habe ich noch nie gemacht.

Danke für die Antworten
Hunter


----------



## Bleiglanz (23. Sep 2004)

du kannst mit einem "explodierten" Ordner im deploy-Verzeichnis arbeiten (mit namen xyz.war)

oder auch über die server.xml einfach einen pfad zu einem Ordner angeben (lies mal in der tomcat.doku nach):

server/default/deploy/jbossweb-tomcat41.sar/META-INF/jboss-service.xml


----------

