У меня есть многомодульное приложение JavaSE, которое я хочу создать и запустить в режиме отладки. Затем после запуска приложения (на моем локальном компьютере) я хочу иметь возможность подключиться к процессу. Мы используем Maven, а IDE - Netbeans.

Я уже нашел эту информацию:

Вы можете отладить любую цель Maven в NetBeans, перейдя к /Project Properties/Actions/, выберите цель, которую хотите отлаживать, в последнем вариант Установить свойства выберите Добавить , а затем выберите Отладка Сборка Maven .

Однако я не знаю, что ввести для Выполнить цели , чтобы заставить его работать в режиме Отладка . Я могу выбрать Выполнить -> Очистить и построить проект Maven и увидеть, что мои проекты создаются в режиме отладки (т. Е. [Debug] execute contextualize).

Я нашел где-то здесь ответ, в котором указан порт по умолчанию для локального компьютера в 8000 . Итак, как мне запустить приложение на этом порту, чтобы я мог к нему подключиться?

enter image description here

4
Patricia 20 Окт 2015 в 23:40

2 ответа

Лучший ответ

Не уверен, что это тот ответ, который вам нужен.

  1. В вашем многомодульном приложении должен быть один модуль maven (тип jar), который содержит код (основной класс) для запуска вашего приложения.
  2. Щелкните этот модуль правой кнопкой мыши и откройте страницу свойств, как показано выше. (Я думаю, что вы открыли модуль типа POM.)
  3. У вас должна быть категория выполнения, позволяющая добавлять аргументы JVM.
  4. Добавьте параметр JVM (что-то вроде: -Xdebug -Xnoagent -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = y)
  5. Запустите ваше приложение в NetBeans.

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

3
cbangor 20 Окт 2015 в 21:20

Если вы используете весеннюю загрузку, это сработало для меня:

  1. из командной строки перейдите в родительскую папку вашего проекта
  2. запустить mvnDebug spring-boot: запустить
  3. из netbeans запустите отладчик debug attach со следующими значениями:

Отладчик: Java Debugger (JDPA),

Разъем: SocketAttach (подключается сокетом к другим виртуальным машинам),

Транспорт: dt_socket,

Хост: localhost,

Порт: 8000

1
luisacevedo 1 Дек 2017 в 05:14