Подтвердить что ты не робот

Eclipse: как отлаживать Java-программу как .jar файл?

Я использую ant для создания файлов .jar в Eclipse. Отлично работает.

У меня есть файл .jar, над которым я работаю, и ожидает, что код будет в файле .jar(он ищет файлы .properties в том же каталоге, что и файл .jar) - стандартный Eclipse "Run" и Меню "Отладка" выполняет метод main() указанного Java-класса... но они делают это из каталога, содержащего скомпилированные файлы классов, а не файла jar. Есть ли способ изменить это поведение, поэтому Eclipse запускает код из соответствующего .jar файла?

(Моим обходным решением сейчас является запуск файла .jar извне, при этом он приостановлен в ожидании отладчика, за Дэйв Рэй отвечает на один из моих других вопросов. )

4b9b3361

Ответ 1

Да, вы можете создать пользовательский "Run Configuration":
То есть, "Java Application", с:

  • Classpath вкладка опустела из ее содержимого по умолчанию (каталог .class) и с добавленным банком
  • Source с его содержимым по умолчанию (должен ссылаться на каталог src проекта)

Одна такая конфигурация может быть запущена или отлажена.

http://www.kermeta.org/docs/html.chunked/KerMeta-UI-UserGuide/KerMeta-UI-UserGuide_figures/KerMeta_RunCommandLine_classpath.png

(Пример пользовательской конфигурации с банками в качестве пользовательских записей)

Ответ 2

Вы можете использовать удаленную отладку, запустив свою банку следующим образом

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar yourJar.jar

И затем подключение из вашей IDE к этому порту

Ответ 3

Я только что нашел следующую ссылку, которая описывает всю процедуру, чтобы удаленно отлаживать Java-банку.

Отладка приложений Java удаленно с помощью Eclipse

Основные части:

Целевая виртуальная машина действует как сервер отладки

java -Xdebug -Xrunjdwp: transport = dt_socket, server = y, address = "8000" -jar      test.jar

Целевая виртуальная машина действует как клиент отладки

java -Xdebug -Xrunjdwp: transport = dt_socket, address = 127.0.0.1: 8000, suspend = y      -jar test.jar

В зависимости от того, как вы запускаете целевой vm, клиент или сервер, вам нужно настроить Eclipse по-разному.

Конфигурация Eclipse, если вы запускаете целевой vm как клиент

введите описание изображения здесь

Конфигурация Eclipse, если вы запускаете целевой vm как сервер

введите описание изображения здесь

В статье также нежно вводится тема.

Ответ 4

Я попытался бы сделать код более надежным, сделав конфигурацию местоположения файла конфигурацией или просто запустив его из пути к классам. Затем вы можете просто добавить файл свойств в путь класса eclipse. Проблема Sovled!