Ich möchte myapp in Tomcat Server bereitstellen. Ich weiß eine Möglichkeit ist, den Root-Ordner aus Webapps zu löschen und meine app.war als ROOT.WAR umzubenennen. Aber ich will das nicht machen. Ich möchte bereitstellen, wenn Benutzer auf meine App als www.xxx.com zugreifen, sollte es zu meiner App wie www.xxx.com/login.html gehen. Bitte helfenSo stellen Sie Apps in Tomcat Server bereit
Antwort
Konfigurationsdatei ist server.xml
Sie können nur dieses Beispiel folgen: https://examples.javacodegeeks.com/enterprise-java/tomcat/tomcat-server-xml-configuration-example/
Referenzierung tomcat Dokumentation: http://tomcat.apache.org/tomcat-7.0-doc/config/context.html
Sie haben mehrere Möglichkeiten eine Root-Anwendung zu setzen. (Siehe https://stackoverflow.com/a/5328636/6371459)
ROOT
Verzeichnis entfernen und Ihren Krieg bereitstellen alsROOT.war
Stellen Sie Ihren Krieg in
webapps
und konfigurieren Sie den Kontextstamm inconf/server.xml
Ihre WAR-Datei zu verwenden (not recommended weil Neustart erfordert)Erstellen Sie eine spezifische Kontextdateiundgesetzt
docBase=your_war_name
wie frühere2)
(siehe @ChristopherShultz Antwort)
Da Sie verworfen haben Option 1 und Option 2 ist nicht zu empfehlen, ich schlage vor, eine Kontext-Datei
Konfigurieren eines 'Context 'in' server.xml' ist eine schlechte Idee. –
Warum @ChristopherSchultz? Ich könnte zustimmen, aber es gibt nicht viele Möglichkeiten, wenn das OP den Krieg nicht in ROOT umbenennen will. Wenn Sie der Meinung sind, dass diese Option nicht anwendbar ist, sollten Sie Ihre eigene Antwort mit der anderen Option des Links angeben, anstatt sie als Duplikat zu markieren. 5 der 6 uploaded Antworten bieten die gleiche Technik und nur einen negativen Kommentar – pedrofb
Sie können jede WAR-Datei bereitstellen (oder ein explodiertes WAR-Verzeichnis) von (fast) überall mit beliebigem Kontextnamen, solange es nicht mit einer automatisch bereitgestellten Anwendung in Konflikt steht. Hier ist, wie:
- alle in Konflikt stehende Anwendungen entfernen von
webapps/
(in diesem Fall wirklich, es ist nurROOT
) - Ihre eigene Anwendung irgendwo anders bewegen als in
webapps/
- Kopieren Sie die
META-INF/context.xml
Datei aus Ihrer Anwendung und Ort es in Tomcatconf/[engine]/[host]/[contextpath].xml
- zum Beispielconf/Catalina/localhost/ROOT.xml
bearbeiten
conf/[engine]/[host]/[contextpath].xml
und fügen sie dieses Attribut auf das<Context>
Element:docBase="/path/to/your/WAR.war"
Nun wird Tomcat einsetzen /path/to/your/WAR.war
auf Kontextpfad /
(da der Dateiname des Deployment Descriptor ist ROOT
), und Sie haben nicht conf/server.xml
zu ändern.
Wer interessiert sich für die Änderung conf/server.xml
? Nun, diese Datei wird nur einmal während Container-Start gelesen, also wenn Sie Änderungen vornehmen, undeploy, redeploy, etc. müssen Sie den gesamten Container neu starten, um diese Änderungen aufzunehmen. Es ist viel besser, die Auto-Deployment-Funktion von Tomcat zu verwenden, die, wie Sie sehen können, sehr flexibel ist.
All dies ist in Tomcat's documentation on defining contexts ausgelegt, wo übrigens der allererste Satz klarstellt, dass die Definition eines Kontextes in server.xml
eine schlechte Praxis ist.
- 1. So stellen Sie eine Webanwendung in Amazon Server bereit
- 2. So stellen Sie Google Apps Script für die Domain bereit?
- 3. So stellen Sie eine Dropwizard-Anwendung bereit
- 4. Stellen Sie Apps von Release-Server
- 5. So stellen Sie Sonar + Jenkins auf einem Server bereit
- 6. So stellen Sie die Webpack-App auf heroku bereit
- 7. So stellen Sie ein Applet bereit?
- 8. So stellen Sie die Website asp.net bereit
- 9. So stellen Sie Bot auf AWS bereit?
- 10. So stellen Sie PCFDev auf AWS bereit
- 11. So stellen Sie VB6-Anwendungen bereit?
- 12. So stellen Sie .NET-Webprojekt in IIS bereit
- 13. So stellen Sie eine Drupal-Site in einer Webfarm bereit?
- 14. So stellen Sie Software mit Vagrant ohne Sudo bereit
- 15. So stellen Sie eine statische React-App bereit
- 16. So stellen Sie getrenntes Frontend und Backend bereit?
- 17. So stellen Sie manuell einen Benchmark in Zipline bereit
- 18. So stellen Sie einen vorhandenen WCF-Dienst in Azure bereit?
- 19. So stellen Sie die statische Methode in Forms bereit?
- 20. So stellen Sie das kontextabhängige Gadget in Google Mail bereit
- 21. So stellen Sie einen Rest-Webdienst in WSO2 bereit
- 22. So stellen Sie die Umbraco 5 Website bereit
- 23. So stellen Sie den Apache CXF-Webservice für Glassfish bereit
- 24. Jekyll & Wercker - So stellen Sie ein Unterverzeichnis bereit
- 25. Wie stellen Sie nur einen Server mit Capistrano v3 bereit?
- 26. Stellen Sie validierte Skriptkonfigurationseingabe bereit (in Python)
- 27. So stellen Sie Änderungen an einem Cassandra-CQL-Schema bereit
- 28. So stellen Sie ein Portlet für Liferay von Eclipse bereit
- 29. So stellen Sie Kubernetes 1.6 ohne Kubeadm bereit?
- 30. So stellen Sie einen vorhandenen REST-Dienst mit Geoserver bereit
Mögliches Duplikat von [Meine Anwendung am Stamm in Tomcat implementieren] (http://stackoverflow.com/questions/5328518/deploying-my-application-at-the-root-in-tomcat) –