Запуск и отладка приложения Java на удаленной или виртуальной машине - PullRequest
4 голосов
/ 02 марта 2010

Я знаю, как удаленно отлаживать Java-приложение на компьютере, на котором оно уже существует, но знает ли кто-нибудь о решении, которое может запускаться из локальной рабочей области (например, eclipse), переносить любой код в локальном пути к классам на удаленный или виртуальную машину, запустите ее там и подключите удаленный отладчик, все за один шаг? Я ожидаю, что какой-то сервер должен будет работать на удаленной машине, чтобы принимать файлы классов и выполнять их.

Однажды я сделал нечто подобное с JUnit, передав локальные тестовые случаи на удаленную машину через RMI и выполняя их там, передавая результаты обратно в мое затмение. Поскольку эти тестовые случаи являются JUnit-тестами, было легко интегрировать это с JUnit-launcher и -tools из eclipse, но для отладки всего приложения я подозреваю, что это будет немного сложнее.

Я хотел бы спросить, есть ли какие-либо решения для этого или кто-то сделал это раньше и указал бы мне правильное направление.

Для VMWARE Workstation есть что-то похожее, но я работаю на Mac, и его нет в Fusion.

Ответы [ 3 ]

2 голосов
/ 02 марта 2010

Не указано, хотите ли вы отладить тестовое приложение или что-то еще. Я предполагаю, что это нормальное Java-приложение. Вы можете просто настроить общий ресурс SMB или ftp-сервер на удаленной виртуальной машине, а затем использовать задачу ant, чтобы собрать все файлы классов и скопировать их на вторую виртуальную машину. Поскольку вы используете Mac, вы можете подключиться с помощью ssh и запустить приложение Java с флагами отладки. Тогда это будет двухступенчатый процесс:

  • Ant скрипт, который
    • Упаковывает весь скомпилированный код
    • Копирует скомпилированный код (FTP, SCP, SMB или что-то в этом роде)
    • Соединяется с ssh и запускает приложение с параметрами отладки. Вы можете использовать опцию ожидания сервера для ожидания входящего соединения.

Тогда в Eclipse у вас будет конфигурация удаленной отладки, которая будет подключаться к удаленной машине в указанном коде.

Чтобы сделать это за один шаг, можно было бы написать небольшой плагин Eclipse, расширяющий модуль запуска отладки. Вы можете расширить Remote Debug Launch для выполнения этого пользовательского кода копирования.

0 голосов
/ 28 июля 2010

С дистанционным управлением eclipse вы можете запускать ant-скрипты и приложения в eclipse с удаленного хоста.

0 голосов
/ 02 марта 2010

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

  1. Для приложения Java вы можете скопировать свои классы компиляции через ftp http://ant.apache.org/manual/Tasks/ftp.html и использовать демон, который сканирует файлы в каталоге и запускает их в режиме отладки (возможно, анализирует манифест jar) Вы также можете «упаковать» свое Java-приложение как J2EE-приложение для удобных целей отладки
  2. Для приложения J2EE вы можете увидеть возможности развертывания вашего сервера J2EE.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...