Удаленная отладка Java на цели Linux с использованием Eclipse или иным способом

1

Может ли кто-нибудь сказать мне хороший подход к удаленной отладке Java по целям Linux?

То, что мне нужно, - это какой-то метод для создания моего Java-проекта, развертывания для целевого и последующего отладки на цель. Я знаю, что java может отлаживать цель, запустив JAR с отладочными флагами, например

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y suspend=y -jar stockTradingGUI.jar

Но я не знаю, как запустить развертывание встроенного JAR в целевую систему и запустить в режиме отладки через Eclipse.

У кого-нибудь есть идеи?

благодаря

  • 0
    Вы запускаете код на каком-то сервере (например, tomcat) или это автономный исполняемый файл JAR?
  • 0
    Если у вас нет адаптера, помогающего вам, вы создаете локально, копируете в целевое устройство, дополнительно перезапускаете удаленную JVM и затем присоединяете. Обычно это довольно утомительно - поэтому, если это вообще возможно, посмотрите, можете ли вы изменить рабочий процесс для разработки на локально работающем экземпляре сервера и выполнять тестирование только на удаленном компьютере.
Показать ещё 2 комментария
Теги:
debugging
remote-debugging

1 ответ

3
Лучший ответ

С самим Eclipse, как правило, не будет пытаться выполнить развертывание встроенного JAR с целью и запустить его в режиме отладки. Вместо этого можно было бы запустить сеанс удаленной отладки в Eclipse после развертывания недавно созданной банки и запустить ее с различными флагами debug/suspend, чтобы вы могли удаленно подключиться к нему.

Существуют различные методы развертывания.

Самым простым было бы просто сделать регулярное построение в Eclipse (или в командной строке через ant или используя любой инструмент построения, который вы используете), вручную вырезать банку в удаленное местоположение и ssh в поле и запустить приложение используя необходимые команды.

Другой вариант - использовать инфраструктуру развертывания, такую как ткань (написанная на Python), которая будет выполнять сборку, scp ее в удаленное местоположение и затем запускать все команды, которые вам нужно выполнить, чтобы запустить это и запустить (то есть сначала остановка существующего экземпляра Tomcat и т.д. или что бы это ни было). У вас могут быть разные настройки среды в fabfile, такие как debug и prod, поэтому вы можете развернуть его в режиме отладки для случаев, которые вы сейчас ищете, а затем в режиме prod он развертывается нормально и просто запускается.

Если вы используете Gradle, у него есть некоторые инструменты, такие как Cargo, которые могут помочь с удаленным развертыванием или для более простых случаев использования, используя плагин ssh и управляя вещами более непосредственно (см. Http://java.dzone.com/articles/replace -your-scripts-gradle для более подробной информации).

Редактировать в ответ на комментарий от OP:

Я сам не использовал Remote System Explorer, но в какой-то степени он является расширяемым (см. Уровни "Сервис" и "Подсистема"), хотя в принципе он все еще кажется ориентированным на пользовательский интерфейс.

Для такого рода использования я бы рекомендовал еще раз взглянуть на Gradle, поскольку он ориентирован на создание, очень расширяемый и может быть интегрирован в Eclipse или полностью запущен в командной строке.

  • 0
    Я надеялся, что найдется какой-нибудь плагин Eclipse, который сможет справиться с развертыванием после сборки, но ваша идея Gradle или Fabric может помочь. Знаете ли вы, что-то вроде Eclipse Remote System Explorer вообще возможно для сценариев?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню