2016-12-28 176 views
-1

请在下面找到堆栈跟踪为例外从Java执行Cmd命令时出错?

2016-12-28 16:22:15.685:INFO:osjs.Server:jetty-7.x.y-SNAPSHOT 
2016-12-28 16:22:15.706:INFO:osjsh.ContextHandler:started o.s.j.s.ServletContextHandler{/,null} 
2016-12-28 16:22:15.711:WARN:osjuc.AbstractLifeCycle:FAILED [email protected]:4444: java.net.BindException: Address already 
使用

:JVM_Bind java.net.BindException:地址已在使用:JVM_Bind 在java.net.DualStackPlainSocketImpl.bind0(本机方法) 在java.net.DualStackPlainSocketImpl.socketBind(Unknown Source) at java.net.AbstractPlainSocketImpl.bind(Unknown Source) at java.net.PlainSocketImpl.bind(Unknown Source) at java.net.ServerSocket.bind(Unknown Source) at java.net.ServerSocket。(Unknown Source) 在java.net.ServerSocket中。(未知来源)

上述堆栈跟踪关于在CMD异常解释。

回答

1

这个异常表明你已经有另一个进程绑定到同一个端口。

我假设你在运行它的Windows

下面将列出所有正在收听的端口和进程:

netstat -ano 

然后你可以通过杀死进程在PID:

taskkill -pid 011 /f <-- 011 is just a sample pid 

也许你可能要看看这个blog post为了更好的理解。

+0

其实我从java运行这个命令,所以java进程是活动的,再次我做了另一个java进程,因为当我给命令我正在使用java执行程序,所以端口为java已经在监听,所以我怎么做两个进程运行在相同的端口上是这个问题,所以每次当我执行我的测试脚本时,我需要在cmd上手动执行集线器和节点命令,所以我试图通过在执行java测试期间执行一次来避免它,所以需要一种方法,我的意思是需要一个代码来做到这一点。 –