2009-03-05 2 views
3

Я хотел настроить удаленную отладку из Eclipse. Tomcat работает как служба в окнах.Услуга Tomcat: котировки в wrapper.conf

Этот бит в порядке, быстрый google указал мне на правильные настройки, чтобы добавить к wrapper.conf, чтобы включить это. Были записи уже в wrapper.conf, поэтому я копировать/вставить последнюю запись и модифицировал его:

wrapper.java.additional.8="-Djava.endorsed.dirs=C:/Program Files/OurApp/tomcat/common/endorsed" 
wrapper.java.additional.8.stripquotes=TRUE 
wrapper.java.additional.9="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9135,suspend=n" 
wrapper.java.additional.9.stripquotes=TRUE 

Это не сработало, потому что кавычки вокруг все, и stripquotes относится только к системам Linux.

Теоретически правильные записи должны быть:

wrapper.java.additional.8=-Djava.endorsed.dirs="C:/Program Files/OurApp/tomcat/common/endorsed" 
wrapper.java.additional.8.stripquotes=TRUE 
wrapper.java.additional.9=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9135,suspend=n 

Второй пример не нуждается кавычки - без пробелов, чтобы разбить его. Первый пример - из-за «Program Files» Правильно ли в этой оценке?

Если да, то как/почему приложение работает как есть? Есть несколько параметров, якобы устанавливаемых как это (вложенные в qutoes), которые, как я считаю, фактически не имеют эффекта.
Например, параметры настройки min/max.

Я нашел пример here, который имеет ту же самую вещь, якобы являющуюся конфигурацией для окон и Linux.

Мои вопросы: Будут ли эти кавычки останавливать команды конфигурации?
Почему приложение работает, если это так?

+0

Какую оболочку вы используете? Это оболочка tanukisoft? – erickson

+0

Да, это оболочка tanukisoft. Это кажется преобладающим. – evnafets

ответ

3

После немного больше играть вокруг и троллинга через отладочные журналы, я думаю, Я выделил проблему. Проблема заключалась в смешении 1 - Быть ленивым и помещать два элемента конфигурации в одну строку. . (В моей обороны я скопировал его как одна строка из the Tomcat FAQ 2 - Использование цитат

Сочетание этих двух причиняло вопрос

wrapper.java.additional.9="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9135,suspend=n" 
wrapper.java.additional.9.stripquotes=TRUE 

Как это он генерирует командную строку:

java "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9135,suspend=n" ... 

Это относится, что вся строка в качестве одного из аргументов - а не два, как я предполагал

Без кавычек.wrapper.java.additional.9 = -Xdebug -Xrunjdwp: транспорт = транспорт по сокетам, сервер = у, адрес = 9135, приостановить = п wrapper.java.additional.9.stripquotes = TRUE Он генерирует:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=9135,suspend=n ... 

Увидев, что нет никаких кавычек, чтобы перевернуть все, он обрабатывает два параметра -X, как я бы хотел. Еще лучше (и, возможно, предполагаемое использование) в качестве двух отдельных записей

wrapper.java.additional.9="-Xdebug" 
    wrapper.java.additional.9.stripquotes=TRUE 
    wrapper.java.additional.10="-Xrunjdwp:transport=dt_socket,server=y,address=9135,suspend=n" 
    wrapper.java.additional.10.stripquotes=TRUE 

java "-Xdebug" "-Xrunjdwp:transport=dt_socket,server=y,address=9135,suspend=n" ... 

Есть кавычки вокруг каждого из них, и он рассматривает их по отдельности. Существующие записи все в порядке, потому что они устанавливают только один элемент в строке.

Так что я просто поставлю это на обучение (вздох) и пойму, что теперь я знаю намного больше об wrapper.conf, о котором я раньше не знал.

Приветствия, evnafets

1

Я использую удаленную отладку в Eclipse через * .bat файлы. Возможно, это будет более простой способ для вас.

Шаги для выполнения:

  1. Скачать установку TOMCAT в почтовый файл и скопируйте все файлы в папку бен
  2. Создать debug.bat файл с таким содержанием, как

    множества JPDA_ADDRESS = 8000

    комплект JPDA_TRANSPORT = dt_socket

    call catalina.bat jpda start

Если вы получили сообщение об ошибке, что порт уже используется, замените 8000 на любой другой (8001, 8002 и т. Д.).

С Затмения стороны: - локальный или любой другой IP-адрес, порт - хост 8000; вкладку Источник::

  1. Open Debug Dialog
  2. New Remote Java Application (вкладка Connect Добавить все исходные файлы (напримерудалить все, добавить проект Java, выберите все проекты)
  3. принудительной Debug
  4. Установить точки останова в Eclipse, и попытаться достичь их от Tomcat
+0

Да, полезная информация для обхода проблемы. Однако это мне не очень помогает. Мои проблемы касаются конфигурации, поскольку такая же конфигурация отсутствует на производственных площадках. В этом случае я хочу решить проблему, а не игнорировать/обходить ее. – evnafets

0

Если вы все еще ищете другое решение, я бы расстрелять за tomcat6w.exe, диалоговое приложение для настройки службы окон (доступно в Tomcats каталоге BIN). Я считаю, что есть некоторые опции для установки параметров jvm, как вы сказали. Эти параметры перейдут в реестр, настроив службу.

Смежные вопросы