Как запустить приложение собранное maven и отладить его

На вопрос: “Почему вы не используете maven?”, средний разработчик как-то странно пожимает плечами, затягивая: “Ну понимаете…”
“Понимаю”: причина в том что всё так красиво и простая команда mvn package творит чудеса, но вот когда доходит до того что бы отладить приложение, народ пасует — производителям сред разработки так нужно было посадить программеров на свои среды и отладчики, что они таки добились… того что люди не только боятся коммандной строки — они не знают и не разбираются и не хотят разбираться, как отлаживается приложения запущенные не из под коммандной строки. А ведь всё очень просто запускаем приложение так:
env MAVEN_OPTS="-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:8000" mvn -Dexec.mainClass=zy.alex.uluru.donothingapplication.Main exec:java

Сочувствую если у вас не Linux🙂 то тогда просто сделайет set для MAVEN_OPTS в cmd.exe
получить вы должны что то вроде этого:

ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
Aborted (core dumped)

это по тому что мы предварительно не запустили локальное приложение, которое будет слушать на порту 8000 и предоставлять среду для отладки

в NetBeans это достигается Debug > Attach Debugger

В Eclipse это достигается Run > Debug Configurations > Remote Java Application

Ну а дальше все просто, стоит только отметить то, что для того что бы поставить break point необходимы исходники, в NetBeans придётся закачать все исходники которые вам необходимы и засунуть в один проект, в этом плане Eclipse значительно удобнее.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: