Ошибка плагина Maven GWT: "Адрес уже используется: привязка"
Недавно я начал использовать режим Super Dev и запускаю сервер и сервер кодов с помощью плагина maven gwt.
Сначала я запускаю mvn:gwt-run для запуска обычного сервера в режиме dev, затем запускаю 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 SelectChannelConnector@127.0.0.1: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.
Это известная ошибка или я что-то не так делаю?
1 ответ
Просто добавив ответ, который я придумал, как взято из этого вопроса:
я открываю 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
Больше информации, объясняющей, как это работает, на оригинальном ответе.