Меня терзают смутные сомнения относительно правильности того, как я пытаюсь натравить идую 4.5.3 на томку 5.5; может, кто — нить ставлкивался с подобными траблами. Короче...
— Добавляю томку в File -> Settings -> IDE -> Application Servers
— Создаю web модуль с одним сервлетом
— Создаю две конфигурации
1. Конфигурация Local Tomcat : изменяю application context, в catalina.bat вписываю строку:
if "%1" == "run" tomcat5 //TS//tomcat5 --JvmOptions=-Xdebug;-Xnoagent;-Djava.compiler=NONE;
-Xrunjdwp:transport=dt_socket,address=storm:1063,suspend=y,server=n
2. Конфигурация Remote Tomcat : вообще кроме порта ничего менять не даёт, оставляю как есть
Теперь проблемы и неоднозначности, коих, увы, немало:
— Файл catalina.bat, существование которого молчаливо предполагается, на самом деле отсутствует и его приходится создавать самому, по косвенным признакам догадываясь о его роли в процессе запуска томки. Вышеупомянутая строка командного файла есть результат длительных экспериментов, после проведения которых напрашивается вывод: батник юзается для поднятия томки и передачи JVM таких параметров, чтобы она цеплялась к создаваемому идеей сокету для проведения сеанса отладки.
— application context это вообще отдельный разговор. При запуске отладки идея утаскивает содержимое фолдера %CATALINA_HOME%\conf "к себе", в %Idea_Install_Folder%\system\%Confuguration_Name%, и создает в сабфолдере Catalina\localhost нужный xml — ник контекста. И всё бы ничего, да только томка- то за контекстными xml — никами к себе лезет... В результате, пока не скопируешь сгенеренный идеей контекстный файл в томкину папку, хоста по очевидным причинам не видно. Предполагаю, что, чтобы томка брала контекстный файл из идеевской папки, ей нужно передать какой — то параметр, но какой именно, я найти не смог.
— проблема с идеевской консолью. При запуске томки в консольном режиме (tomcat5 //TS//tomcat5) единственный способ завершить работу сервера, это брякнуть его по Ctrl+C или Ctrl+Break. И вот они — то в идее и не срабатывают, в результате чего приходится каждый раз после отладки снимать процесс руками. Без комментариев.
— Удаленная отладка не стартует вообще, отрыгивая странным сообщением
Failed to establish connection to the target VM at 'localhost:1131' using socket transport.
Process not started.
Unable to launch target VM : java.net.ConnectException "Connection refused: connect"
Ясно, что нужно передать JVM при старте такой параметр, чтобы она сама создавала сокет для дебага и слушала его все время, но где это делать? Попытка передать любые параметры инициализации транспорта, будь то сокеты или разделяемая память, через тулзу Tomcat Service Configuration приводит к тому, что сервис томки вообще не поднимается...
Такая вот загогулина
Вывод — либо само понятие "интеграция" применено больше для красного словца, ибо основная интеграция лабается ручищами, либо я ламо и ни фига не понял, что тоже весьма вероятно... Прошу помощи экспертов...
Здравствуйте, COM Lover, Вы писали:
CL>Меня терзают смутные сомнения относительно правильности того, как я пытаюсь натравить идую 4.5.3 на томку 5.5; может, кто — нить ставлкивался с подобными траблами. Короче...
CL>- Добавляю томку в File -> Settings -> IDE -> Application Servers
CL>- Создаю web модуль с одним сервлетом
CL>- Создаю две конфигурации
CL> 1. Конфигурация Local Tomcat : изменяю application context, в catalina.bat вписываю строку:
CL> if "%1" == "run" tomcat5 //TS//tomcat5 --JvmOptions=-Xdebug;-Xnoagent;-Djava.compiler=NONE;
CL> -Xrunjdwp:transport=dt_socket,address=storm:1063,suspend=y,server=n
Как делаю я :
1) Создаю Web модуль.
2) Edit Configuration
Application Server : Tomcat5.0 Server (не JSR 45!)
Debuggee port : 8001
Catalina home : D:\jwsdp-1.3
Path to Catalina config : D:\jwsdp-1.3\conf
Application Context path: /path_name // Это то, что нужно вводить в web-browser :
http://localhost:8080/path_name
VM Parameters: -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=8001
Вот, и всё все проблемы — сняты. Да, с такими праметрами нажимать ен 'RUN', а 'DEBUG'!
Здравствуйте, Protey, Вы писали:
P>Как делаю я :
P>1) Создаю Web модуль.
P>2) Edit Configuration
P>Application Server : Tomcat5.0 Server (не JSR 45!)
P>Debuggee port : 8001
P>Catalina home : D:\jwsdp-1.3
P>Path to Catalina config : D:\jwsdp-1.3\conf
P>Application Context path: /path_name // Это то, что нужно вводить в web-browser : http://localhost:8080/path_name
P>VM Parameters: -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=8001
P>Вот, и всё все проблемы — сняты. Да, с такими праметрами нажимать ен 'RUN', а 'DEBUG'!
Как я понимаю, вы делаете так в IDEA 4.0, а не в 4.5, где у меня те же проблемы, что и у COM Lover'а. Единственное, файл catalina.bat лежит в JSWDP-1.3\bin.
Хотелось бы услышать, что делают пользователи IDEA 4.5