Wie ändere ich die ROOT-Anwendung?
Ich versuche, ändern Sie die Standard-Anwendung von Tomcat 6 webserver an ein anderes Programm als "ROOT" (innen-webapps-Ordner). Was ist der beste Weg, dies zu tun?
InformationsquelleAutor der Frage | 2009-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es drei Methoden:
Ersten shutdown den Tomcat aus der seine
bin
Verzeichnis (sh shutdown.sh
). Dann löschen Sie den Inhalt der Tomcatwebapps
Ordner (rm -fr *
). Dann benennen Sie die war-Datei zuROOT.war
und schließlich starten Sie Ihren Tomcat-von derbin
Verzeichnis (sh startup.sh
).Lassen Sie Ihre war-Datei in
$CATALINA_BASE/webapps
unter dem ursprünglichen Namen. AusschaltenautoDeploy und deployOnStartup in Ihren Host-element in der
server.xml
- Datei.Explizit definieren, alle anwendungskontexte in
server.xml
, Angabe der Pfadund docBase Attribute. Sie müssen dies tun, weil Sie haben alle deaktiviert Tomcat
auto-deploy-Mechanismen, und die Tomcat wird nicht die Bereitstellung Ihrer Anwendungen mehr
es sei denn, Sie findet Ihren Rahmen in der
server.xml
.Platzieren Sie Ihre war-Datei außerhalb von
$CATALINA_BASE/webapps
(es muss draußen seinum zu verhindern, dass Doppel-Bereitstellung). Platzieren Sie eine Kontext-Datei mit dem Namen
ROOT.xml
im$CATALINA_BASE/conf/
. Das einzelne element in diesem Kontext-Datei MUSS einedocBase - Attribut auf den Speicherort der Ihre war-Datei. Das path-element
sollte nicht eingestellt werden - es ist abgeleitet von dem Namen des
.xml
- Datei, in diesemFall
ROOT.xml
. Finden Sie die Dokumentation für die Kontext-container für details.Referenz
InformationsquelleAutor der Antwort
Hinzufügen eines
<Context>
tag in der<Host>
tag inserver.xml
für Tomcat 6 wird das problem zu beheben.Wenn Sie
path=""
leer können Sie eine URL wiehttp://localhost/first.do
.In der Kontext-tag-set-Attribute
docBase="E:\struts-ITRCbook\myStrutsbook"
undreloadable="true"
dann Ende die Kontext-tag.Sollte es etwa so Aussehen:
InformationsquelleAutor der Antwort ze.
Standard-ROOT-app ist in der Regel Tomcat-Manager - was nützlich sein kann, so gefühlt wie halten Sie es um.
also so wie ich gemacht meine app ROOT und hielt TCmgr war wie dieser.
umbenannt WURZEL zu etwas anderem
mv ROOT TCmgr
dann erstellt einen symbolischen link, wobei ROOT Punkte für die app, ich möchte das Standard.
ln -s
your app
ROOTarbeitete für mich, und mir schien das der einfachste Ansatz.
--nestochan
InformationsquelleAutor der Antwort nestochan
In Tomcat 7 mit diesen änderungen, ich bin in der Lage, Zugang
myAPP
bei/
undROOT
bei/ROOT
Hinzufügen oben auf die
<Host>
Abschnitt in server.xmlInformationsquelleAutor der Antwort Sudheer Palyam
Gemäß Apache-Tomcat-docs, können Sie die Anwendung durch die Schaffung einer ROOT.xml Datei. Finden Sie diese für mehr info:
http://tomcat.apache.org/tomcat-6.0-doc/config/context.html
"Der Standard-web-Anwendung kann definiert werden, indem eine Datei namens ROOT.xml."
InformationsquelleAutor der Antwort Jon
Können Sie dies tun, in einem etwas hack-y-Weg, von:
InformationsquelleAutor der Antwort gareth_bowles
@danny-london die Dritte Methode hat nicht funktioniert für mich in Tomcat 7, aber es funktioniert, wenn Sie den ROOT.xml Datei in der
$CATALINA_BASE/conf/[enginename]/[hostname]
Verzeichnis (was für mich eher grundlegende setup ist$CATALINA_HOME/conf/Catalina/localhost
). Finden Sie die Kontext-Container-Dokumentation.InformationsquelleAutor der Antwort Michael Scheper
Alternative Lösung wäre ein servlet erstellen, das sendet eine Weiterleitung an die gewünschte Standard-webapp und anzeigen, servlet, um alle urls in die ROOT-webapp.
Fügen Sie die obige Klasse
CATALINA_BASE/webapps/ROOT/WEB-INF/classes/com/example/servlet
.Und fügen Sie die folgenden
CATALINA_BASE/webapps/ROOT/WEB-INF/web.xml
:Und, wenn gewünscht könnten Sie leicht ändern, die RedirectServlet zu akzeptieren, init-param, um Ihnen zu erlauben, um den Standard-webapp ohne das ändern der Quelle.
Ich bin mir nicht sicher, ob dies würde keine negativen Auswirkungen, aber ich wollte dies testen und es scheint zu funktionieren.
InformationsquelleAutor der Antwort Jonathan Dixon
den context.xml Konfiguration hat nicht funktioniert für mich. Tomcat-6.0.29 beschwert sich über die docBase-in die appBase: ...
Für Tomcat 5 und das hat tatsächlich funktioniert.
So eine Lösung ist, um die Anwendung in den ROOT-Ordner.
Andere sehr einfache Lösung besteht darin, einen index.jsp-ROOT umleitet, um meine Anwendung wie diese:
Antwort.sendRedirect("/MyApplicationXy");
Beste Grüße,
Jan
InformationsquelleAutor der Antwort Jan
Ich hab ein problem bei der Konfiguration von Tomcat'
server.xml
und zusätzlichen Context-element.Er will einfach nicht verwenden, meine config:
http://www.oreillynet.com/onjava/blog/2006/12/configuration_antipatterns_tom.html
Wenn Sie in einer
Unix-like
system:mv $CATALINA_HOME/webapps/ROOT $CATALINA_HOME/webapps/___ROOT
ln -s $CATALINA_HOME/webapps/your_project $CATALINA_HOME/webapps/ROOT
Getan.
Funktioniert für mich.
InformationsquelleAutor der Antwort AC de Souza
Werde ich an meine docs; es ist eine Möglichkeit, die Angabe einer Konfiguration, ändern Sie den Pfad des root-web-Anwendung, die Weg von der WURZEL (oder WURZEL.Krieg), aber es scheint sich verändert zu haben zwischen Tomcat 5 und 6.
Gefunden:
http://www.nabble.com/Re:-Tomcat-6-and-ROOT-application...-td20017401.html
So, es scheint, dass das ändern des root-Pfad (in ROOT.xml) ist möglich, aber etwas kaputt-Sie brauchen, um zu bewegen, Ihren KRIEG außerhalb der auto-deployment-Verzeichnis. Dagegen, wenn ich Frage, warum nur die Umbenennung der Datei auf ROOT.Krieg ist nicht eine brauchbare Lösung?
InformationsquelleAutor der Antwort Don Werve
Nicht eine sehr gute Lösung aber eine Möglichkeit ist die Weiterleitung von der ROOT-app zu YourWebApp. Für diese müssen Sie zum ändern der ROOT index.html.
ODER
Referenz : http://staraphd.blogspot.com/2009/10/change-default-root-folder-in-tomcat.html
InformationsquelleAutor der Antwort abbas
Ultimative Weg, ändern die tomcat-root-Anwendung. Getestet auf Tomcat 7 und 8.
Bewegen, um den tomcat-webapps-Verzeichnis:
Beispiel auf meinem Rechner:
~/stack/apache-tomcat/webapps
Umbenennen, ersetzen oder löschen ROOT-Ordner. Mein Rat ist, umbenennen oder erstellen einer Kopie für das backup.
Beispiel umbenennen, ROOT RENAMED_ROOT:
mv ROOT RENAMED_ROOT
Bewegen war-Datei mit der Anwendung auf dem tomcat-webapps-Verzeichnis
(eine Verzeichnis, in dem war die alte ROOT-Ordner auf meinem Rechner: ~/stack/apache-tomcat/webapps)
Nachdem die Anwendung neu gestartet wird, wird sein die Wurzel.
InformationsquelleAutor der Antwort Jackkobec
In Tomcat 7 (unter Windows-server), die ich nicht hinzufügen, Bearbeiten oder etwas zu einer Konfigurationsdatei. Ich habe gerade umbenannt, der ROOT-Ordner, um etwas anderes und umbenannt meine Anwendung Ordner auf ROOT und es hat gut funktioniert.
InformationsquelleAutor der Antwort Dov