Ошибка плагина Maven GWT: адрес уже используется: привязка

Недавно я начал использовать режим Super Dev и запускаю сервер и кодовый сервер с помощью плагина maven gwt. .

Сначала я запускаю «mvn:gwt-run», чтобы запустить обычный сервер режима разработки, затем запускаю «mvn:run-codeserver», чтобы запустить сервер кода. Он отлично работает, когда я захожу на localhost: 8888 и нажимаю букмарклет «Dev Mode On». У меня проблема, когда я прекращаю оба запуска, а затем запускаю их снова.

Я получаю эту ошибку при запуске кодового сервера во второй раз:

[ERROR] 2014-07-21 14:12:12.176:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT
[ERROR] 2014-07-21 14:12:12.198:WARN:oejuc.AbstractLifeCycle:FAILED [email protected]:9876: java.net.BindException: Address already in use: bind
[ERROR] java.net.BindException: Address already in use: bind
[ERROR]     at sun.nio.ch.Net.bind0(Native Method)
[ERROR]     at sun.nio.ch.Net.bind(Net.java:444)
[ERROR]     at sun.nio.ch.Net.bind(Net.java:436)
[ERROR]     at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
[ERROR]     at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
[ERROR]     at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:187)
[INFO] [ERROR] [ERROR] cannot start web server

Единственный способ решить эту проблему - выйти из eclipse, завершить процесс java.exe, который все еще работает (и использует ~ 2 ГБ памяти), а затем снова запустить eclipse.

Это известная ошибка или я что-то не так делаю?


person slugmandrew    schedule 21.07.2014    source источник
comment
Кажется, это проблема с использованием одного и того же порта дважды. Вы можете перепроверить?   -  person Suresh Atta    schedule 21.07.2014
comment
выключите оба процесса, это действие успешно?   -  person VinayVeluri    schedule 21.07.2014
comment
Возможно, это поможет.   -  person Jens    schedule 21.07.2014
comment
@VinayVeluri Вместо этого мне, вероятно, следовало сказать «Завершить оба запуска». Я выключаю режим разработки, закрывая открытое окно GWT Development Mode, затем нажимаю красный квадрат (кнопка остановки) на вкладке консоли в eclipse, чтобы остановить сервер кода. Кажется, что это не закрывает порт.   -  person slugmandrew    schedule 21.07.2014
comment
@Jens Я нашел это, но, похоже, они не решили проблему в этой ветке, если я что-то не упустил? Также я думаю, как и Томас Бройер, я использую конфигурацию запуска eclipse для запуска с gwt:run-codeserver в качестве цели.   -  person slugmandrew    schedule 21.07.2014
comment
@тохи Нет, Windows 7.   -  person slugmandrew    schedule 21.07.2014
comment
попробуйте убить порт сервера, проверьте эту ссылку: -from-a-bat" title="убить процесс, просмотрев используемый им порт из bat">stackoverflow.com/questions/6204003/   -  person tokhi    schedule 21.07.2014


Ответы (1)


Просто добавив ответ, который я придумал, взятый из -it-from-a-bat">этот вопрос:

Я открываю cmd.exe и вставляю:

FOR /F "tokens=5 delims= " %P IN ('netstat -a -n -o ^| findstr :9876') DO @ECHO TaskKill.exe /PID %P /T /F

Обычно это повторяет один порт, который заблокирован кодовым сервером на порту 9876. Затем я вынимаю @ECHO и запускаю это, чтобы фактически убить его:

FOR /F "tokens=5 delims= " %P IN ('netstat -a -n -o ^| findstr :9876') DO TaskKill.exe /PID %P /T /F

Дополнительная информация, объясняющая, как это работает на used-by-it-from-a-bat">оригинальный ответ.

person slugmandrew    schedule 23.04.2015