2013-09-22 19 views
6

Opracowałem mały projekt MVC przy użyciu Spring MVC, Hibernate, MySQL, Maven i Tomcat. Mogę płynnie uruchamiać i testować aplikację (lokalnie).Rozmieszczanie projektu Spring MVC

Teraz muszę opublikować/wdrożyć ten projekt na (online) serwerze, na którym jest zainstalowany tylko Tomcat. Jak mogę opublikować/wdrożyć projekt online? Czy jest jakiś specjalny build, który powinienem zrobić? Jakie pliki prześlę i gdzie?

Odpowiedz

6

Dostępnych jest kilka typów opcji programistycznych.

Do tworzenia projektów typu localhost EAR (Exploded ARchive) zazwyczaj używa się (ponieważ można z łatwością wykonać hot deploy na servery). Ale do produkcji używa się WAR (Web ARchive) (w zasadzie jest to to samo archiwum EAR, ale skompresowane przy użyciu algorytmu ZIP).

Jeśli chcesz wdrożyć projekt na zdalny serwer Tomcat, zrób projekt jako archiwum WAR i prześlij go do katalogu webapps Tomcat. Wtedy może być konieczne ponowne uruchomienie Tomcat. Ale jest to ręczny sposób wdrażania.

Lepsza opcja jest stosowanie zautomatyzowanych narzędzi budowania (jak Maven), który można skompilować projektu, przeprowadzenie testów jednostkowych, wdrożyć na serwerze WWW (lokalnie lub zdalnie) itd

ten jest doskonałym przykładem tego, jak wdrożyć swój projekt na serwerze Tomcat za pomocą Maven za tomcat-maven-plugin: http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tomcat/

powodzenia;)

0

Wykonaj instalację w trybie czystym mvn, a otrzymasz plik .war w docelowym katalogu modułu WWW. Skopiuj go i wklej do katalogu tomcat_home/webapps i uruchom ponownie tomcat. To jest to. teraz możesz uzyskać do niego dostęp w dowolnym skonfigurowanym porcie (np. http://localhost:8080/<your webapp war name>). powiedzmy, że twoja nazwa wojenna to myapp.war, a następnie tomcat rozpakowałby ją do folderu myapp w aplikacjach internetowych. , więc Twój adres URL będzie http://localhost:8080/myapp

+0

Dlaczego nie mvn czyste pakiet ' 'zamiast' install'? – Bart

+0

Można to również zrobić, ponieważ faza pakietu jest zawarta w instalacji, powiedziałem, że i oba będą działać – vigneshre

+0

Ponieważ 'install' ma więcej niż tylko pakiet aplikacji, to nie jest preferowana metoda. Chyba że nie będziesz w stanie włączyć tej aplikacji internetowej do innych projektów jako zależności. – Bart

0

z Maven polecenia wdrożyć, zazwyczaj robi błędów z różnych powodów. jeśli pracujesz w systemie Unix/Linux, polecam użycie metody "rsync" na konsoli. (Możesz napisać własny skrypt powłoki, aby łatwo zarządzać). Pomaga nie tylko wdrożyć bez problemu, ale także pomaga uzyskać czas podczas ponownego wdrażania (tylko przesyłanie zmienionych/nowych plików). Ponieważ maven wdraża/redeploy przesyła twój projekt jako pakiet w słoiku/wojnie. Jednak metoda "rysnc" przesyła pliki projektu jeden po drugim.

Przed użyciem należy upewnić się, że spełnione są dwa warunki.

1- projekt jest zbudowany w folderze docelowym (wiosna Narzędzie Suite)

2- masz dostęp do Tomcat poprzez SSH

przykładowy kod:(V_: prefiks, który jest zmienny (konfigurowalny))

rsync -avz v_your_project_in_target [email protected]_ip:v_tomcat_name/webapps/v_project_name 

(drugie dzielenie)