2012-04-19 3 views
2

У меня есть мое приложение на tomcat 6 на сервереA. Я запускаю tomcat как услугу i.e thru tomcat6w.exe, находящуюся под папкой <tomcat_home>/bin. Чтобы удаленно отлаживать weabbplication, я добавил ниже строки, как это было предложено на разных блогах/сайтах в Интернете, в другом пространстве witout. Упоминал порт как 8443, поскольку приложение работает на одном и том же порту.Как удаленно отлаживать веб-приложение, запущенное на службе tomcat?

-Xdebug-Xrunjdwp:transport=dt_socket,address=8443,server=y,suspend=n 

Теперь через eclipse на сервере B я упомянул хост как SERVERA и порт 8443 и нажмите кнопку отладки. Через 2-3 минуты он устанавливает соединение без каких-либо ошибок. Но теперь , когда я ударил URL-адрес webapplication в IE, он не отображается и говорит, что IE не может отобразить веб-страницу. Но как только я удаляю вышеупомянутые параметры отладки и ударяю по URL-адресу, приложение работает нормально. Я не понимаю, как отлаживать приложение, когда tomcat работает как служба окна?

Для информации Ниже приведены параметры, когда я дважды щелкните службу TOMCAT

-- Under java tab 
--jvm section value 
C:\Program Files\Java\jre6\bin\client\jvm.dll 

--java classpath section value 
C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\bootstrap.jar 

--java options section value 
-Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0 
-Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0 
-Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\common endorsed 
-Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
-Djava.util.logging.config.file=C:\Program Files\Apache Software 
    Foundation\Tomcat6.0\conf\logging.properties-XX:MaxPermSize=512M 
-Djavax.net.ssl.trustStore=c:/.keystore 
-Djavax.net.ssl.trustStorePassword=changeit-Xdebug 
-Xrunjdwp:transport=dt_socket,address=8443,server=y,suspend=n 

--Under startup tab 

--class section value 
org.apache.catalina.startup.Bootstrap 

--workingpath section value 
C:\Program Files\Apache Software Foundation\Tomcat 6.0 

--arguments section value 
start 

--mode section value 
jvm 

ответ

0

Когда мне нужно удаленно отлаживать приложения, развернутые на сервере Tomcat, я обычно начинаю сервер через скрипт Catalina.bat, а не как служба Windows. На самом деле, чтобы включить удаленную отладку, вы должны предоставить аргументы JPDA при выполнении сценария catalina.bat:

Catalina JPDA начать

Если вам действительно нужно, чтобы начать свой сервер в качестве службы , вы можете попытаться отредактировать его определение, чтобы вы также предоставили ему аргумент JPDA.

Возможно, вы остановите свой сервис Tomcat и просто запустите сервер, выполнив скрипт catalina.bat.

Надеюсь, что это поможет.

+0

странно ... вы имеете в виду, я не могу дистанционно отлаживать, как приложение, которое развертывается на кота, который работает как услуга? – OhadR

+0

Я пробовал пару раз и делал поиск по этому вопросу, но не нашел, как ... – kyiu

4

На вкладке «Параметры Java» добавьте ниже. Не забудьте поставить

-Xdebug 

и

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8733 

в отдельной строке.

-Xdebug 
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8733 
+2

Хотя это правильно, он ничего не делает, чтобы развеять недоразумение допрашивающего. Более подробная информация о том, почему это работает, и что делать дальше, было бы полезно. –

+1

Если вы установили tomcat в качестве службы Windows, щелкните правой кнопкой мыши Tomcat6w.exe и «запустите как администратор». Затем на вкладке Java найдите параметры Java.Вот где вы добавляете две строки. –

1

вы можете передать параметры виртуальной машины Java с помощью JvmOptions параметр:

tomcat.exe //TS// ++JvmOptions -Xdebug;-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 

или

tomcat.exe //RS// ++JvmOptions -Xdebug;-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 
Смежные вопросы