【问题标题】:Maven GWT plugin error: "Address already in use: bind"Maven GWT 插件错误:“地址已在使用中:绑定”
【发布时间】:2014-09-12 00:42:23
【问题描述】:

我最近开始使用超级开发模式,并正在使用maven gwt plugin 启动服务器和代码服务器。

首先我执行“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 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 进程(并使用 ~2gb 内存),然后再次启动 eclipse。

这是一个已知错误还是我做错了什么?

【问题讨论】:

  • 似乎这是两次使用同一端口的问题。可以核对一下吗?
  • “关闭两个进程”这个动作成功了吗?
  • 也许this 有帮助。
  • @VinayVeluri 我可能应该说“终止两个启动”。我通过关闭打开的GWT Development Mode 窗口来关闭开发模式,然后按 Eclipse 控制台选项卡中的红色方块(停止按钮)来停止代码服务器。似乎这并没有关闭端口。
  • 尝试杀死服务器端口检查此链接:stackoverflow.com/questions/6204003/…

标签: java eclipse maven gwt gwt-super-dev-mode


【解决方案1】:

只是添加我想出的答案,取自this question

我打开cmd.exe并粘贴:

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

这通常会在端口 9876 上回显一个被 codeserver 阻塞的端口。然后我取出 @ECHO 并运行它以实际杀死它:

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

更多信息解释它在original answer 上的工作原理。

【讨论】:

    猜你喜欢
    • 2011-01-09
    • 2016-10-24
    • 2012-05-02
    • 2020-10-06
    • 2018-03-20
    • 1970-01-01
    相关资源
    最近更新 更多