2012-12-18 7 views
8

Używam IntelliJ z Tomcat 6 do uruchamiania aplikacji Spring Java EE. Zamiast rozpoczynać kompilowaną wojnę, zdecydowałem się użyć rozbitej wojny, dając mi opcję podskakiwania niektórych klas i stron JSP.Jaka jest różnica między "Redeploy" i "Restart Server" w IntelliJ?

Jednak oprócz "Aktualizuj klasy" i "Aktualizuj klasy i zasoby", IntelliJ umożliwia również użytkownikom "Ponowne wdrażanie" i "Restartuj serwer" w akcji aktualizacji. Jaka jest różnica między tymi dwoma wyborami?

Jeśli dokonam zmiany sygnatur mojej metody w mojej klasie lub jeśli zmienię plik Springconfig.xml, czy muszę zrestartować serwer, czy jest to wystarczająca redeploy? Zauważyłem, że nie jestem w stanie po prostu podciągnąć się na zajęcia, których sygnatury funkcji lub skojarzone z nimi adnotacje zostały zmodyfikowane.

Odpowiedz

12

Restart serwera robi dokładnie to, co mówi, i restartuje serwer Tomcat. Twoja wojna zostanie odbudowana i wdrożona podczas uruchamiania serwera. Jest to przydatne, jeśli masz problemy z wymianą klas.

Redeploy przeorganizuje całą wersję .war (bez restartowania serwera), zamiast próbować wymieniać się zmienionymi klasami i innymi zasobami.

Zobacz także: http://www.jetbrains.com/idea/webhelp/updating-a-running-java-ee-application.html

W odpowiedzi na drugie pytanie, o przesunięcie powinno być wystarczające. Powiedział, że może to spowodować wycieki pamięci i często jest tylko nieznacznie szybszy niż pełny restart.

3

Zaktualizuj zasoby. Wszystkie zmienione zasoby (czyli wszystkie składniki aplikacji inne niż klasy) zostaną zaktualizowane.

Zaktualizuj klasy i zasoby. Wszystkie zmienione zasoby zostaną zaktualizowane; zmienione klasy zostaną zrekompilowane. W trybie debugowania zaktualizowane klasy zostaną zamienione na hot. W trybie uruchamiania IntelliJ IDEA po prostu zaktualizuje zmienione klasy w folderze wyjściowym. To, czy takie klasy zostaną ponownie załadowane w uruchomionej aplikacji, zależy od możliwości środowiska wykonawczego.

Redeploy. Aplikacja zostanie zaktualizowana i ponownie wdrożona.

Uruchom ponownie serwer. Serwer zostanie zrestartowany. Zaktualizowana wersja aplikacji zostanie wdrożona podczas uruchamiania serwera. W przypadku upakowanych artefaktów dostępne są następujące opcje:

Klasy hot swap. Zmienione klasy zostaną ponownie skompilowane i załadowane ponownie w czasie wykonywania. Zauważ, że ta opcja działa tylko w trybie debugowania. Redeploy. Ogólna aplikacja zostanie przebudowana i ponownie wdrożona. Uruchom ponownie serwer. Serwer zostanie zrestartowany. Aplikacja zostanie przebudowana i wdrożona podczas uruchamiania serwera.

Od: http://www.jetbrains.com/idea/webhelp/run-debug-configuration-tomcat.html

Powiązane problemy