Как аккуратно остановить м2е груз: бежать из Затмения? - PullRequest
6 голосов
/ 12 октября 2011

Используя команду run mojo из плагина cargo-maven2, я хотел бы узнать, как лучше отключить контейнер.

Вывод на консоль говорит Ctrl + C, чтобы остановить, но это, похоже, ничего не делает.

Если я завершаю работу, он оставляет потерянный процесс java.exe, который я должен убить сам.

Я что-то не так делаю? Это немного громоздко.

Редактировать: я использую Tomcat в автономной конфигурации. Если я использую встроенный Jetty, естественно прекратить работу, однако нам нужен Tomcat.

Ответы [ 2 ]

5 голосов
/ 04 декабря 2011

CTRL + C , похоже, известная проблема Eclipse / Jetty . В последнем посте говорится, что выдача mvn cargo:stop остановит уже работающий контейнер, однако у меня это не сработает, хотя я только что провёл несколько быстрых тестов с веб-приложением, сгенерированным архетипом.

Использование Eclipse Indigo Service Release 1 (20110916-0149) если я выдаю mvn cargo:run и жду загрузки контейнера (пока это Jetty, никаких настроек; давайте посмотрим, сможете ли вы заставить его работать вот так) нажатие на большую красную кнопку Завершить убивает запущенный процесс, и никаких затяжных java{,w}.exe не осталось.

Я не знаю, как вы выдаете mvn cargo:run из Eclipse прямо сейчас, но, возможно, вы используете его как External Tool (и именно поэтому процесс остался позади). Если у вас установлен m2eclipse, вы должны создать для него конфигурации запуска Maven:

Run --> Run Configurations --> Maven build --> right click --> New

С этого момента все должно быть просто.

(я нашел два билета об ошибках Eclipse ( здесь и здесь ), которые, по-видимому, связаны с неспособностью Eclipse прочитать здоровый CTRL + C через консоль.)


Я подтвердил, что при запуске внешнего экземпляра Tomcat (7.0.23) с mvn cargo:run из Eclipse через плагин m2e (после запуска контейнера) CTRL + C действительно не работает.

После этого я запустил mvn cargo:run с моей консоли Cygwin. Результат был таким же.

Наконец-то я попробовал это из cmd в Windows, и это сработало.

Я предполагаю, что это ошибка в cargo-maven-plugin.

Запуск mvn cargo:stop с Eclipse или Cygwin сделал свое дело для меня.

Вы можете запустить грузовой плагин из Eclipse, создав Maven build Run или Debug конфигурацию в Eclipse.

0 голосов
/ 03 сентября 2014

В общем, если вы запускаете Cargo с помощью средства запуска Eclipse Maven в режиме DEBUG (т. Е. Debug as -> сборка Maven ...), уничтожение процесса в консоли Eclipse (красная кнопка) не оставляет никакого процесса-сироты. ...

Не знаю почему, но это работает :) По крайней мере, на моем рабочем месте

...