Jak debugować Tomcat 7.x / 8.x webapp lokalnie z IntelliJ Community (darmowa) wersja w Linuksie?

Rozumiem, że jest to możliwe z Ultimate Edition, ale czy istnieje sposób, aby debugować te aplikacje lokalnie w edycji Community?

Author: Makoto, 2014-12-26

3 answers

Historia

Jeśli pracowałeś z IntelliJ Ultimate edition, zauważyłeś, że możliwe jest dodanie konfiguracji Tomcat, w której możesz debugować lub uruchamiać kontener Tomcat z poziomu IntelliJ. Możliwe jest, aby Twoja wersja IntelliJ Community zrobiła to samo dla Ciebie z odrobiną dodatkowych ustawień.

Odpowiednie pojęcia

Tomcat JMX

Jest to narzędzie do zdalnego monitorowania i zarządzania Tomcat. Ustawienia związane z JMX nie są potrzebne do Włącz debugowanie. Chociaż może być przydatny do celów monitorowania za pomocą JConsole (Czytaj więcej ).

Różne porty

Twoja instancja Tomcat musi być już uruchomiona, aby Wersja Community mogła dołączyć się do procesu Tomcat. Podczas gdy twój tomcat będzie działał na porcie (domyślnie Tomcat to 8080), musisz również skonfigurować inny port, aby debugger podłączył się do uruchomionej wersji Tomcat (9999 w naszym przykład).

Ustawienia

Ustawienia obejmują zmiany, które musisz wprowadzić do Tomcat i konfiguracje, które musisz zrobić na IntelliJ community edition.

Postępuj zgodnie z kolejnością zmian.

Tomcat side related changes

  1. Zatrzymaj swój Tomcat, jeśli jest uruchomiony w folderze Tomcat bin poprzez: ./shutdown LUB ./catalina stop

  2. Dodaj następujący wiersz do swojego catalina.sh plik pod zestawem JAVA_OPTS oświadczenie:

    JAVA_OPTS= "$JAVA_OPTS-Xdebug-Xrunjdwp:transport=dt_socket, server=y, suspend = n, address=9999 "

Podpowiedź: użyłem JAVA_OPTS nie CATALINA_OPTS jako komentarzy w catalina.sh sugeruje, że preferowane jest użycie JAVA_OPTS. Możliwe jest jednak użycie CATALINA_OPTS w podobny sposób, aby umożliwić debugowanie.

  1. Start Tomcat:

./catalina.sh start

IntelliJ zmiany

Tutaj wpisz opis obrazka

Wynik

Po kliknięciu przycisku debugowania w IntelliJ Community edition sekcja debugowania powinna się otworzyć z następującym wierszem w obszarze konsoli:

[[8]} podłączony do docelowej maszyny wirtualnej, adres: 'localhost: 9999', transport: 'socket'

Odpowiednie posty i linki

  1. Jest to bardzo przydatne tylko w przypadku okien.]}
  2. IntelliJ i Tomcat.. Howto..? (mylące jak stare)
  3. W 2007 roku firma została założona przez firmę Intel, która od 2007 roku zajmuje się dystrybucją i dystrybucją sprzętu komputerowego.]}
  4. W związku z tym, że nie jest to możliwe, nie jest to możliwe.]}
  5. W 2008 roku firma została założona przez firmę Tomcat, która od 2009 roku zajmuje się dystrybucją i dystrybucją sprzętu komputerowego.]}
 23
Author: AmirHd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:46:49

Odpowiedź AmirHd jest bardzo pomocna, ale miałem jeszcze jeden problem. Kiedy zmieniłem serwer JAVA_OPTS nie wyłączy się jak w tym poście: Tomcat nie udało się wyłączyć Rozwiązałem to zmieniając

JAVA_OPTS

Do

CATALINA_OPTS
 1
Author: Amadeusz Iwanowski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-12 13:08:18

Dla użytkowników Windows

Put

set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
/ Align = "left" / Linearbat następnie otwórz wiersz poleceń w katalogu tomcat i uruchom
catalina.bat run

Uwaga: musiałem wybrać port 5005, ponieważ domyślny w ustawieniach konfiguracji w moim IntelliJ nie był edytowalny.

 0
Author: JanBrus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-23 14:57:39