我在控制台上遇到异常:
java.lang.Exception: Port 8083 already in use.
如何解决此异常?如果我将获得使用8083端口的服务,那么我可以停止该服务,这样我就可以解决这个问题。
感谢您的帮助!
答案 0 :(得分:11)
java.lang.Exception:端口8083已在使用中。
错误意味着另一个应用程序已经绑定了该端口,因此您无法使用它。通常,这意味着服务器正在运行(或正在退出),但仍然打开特定端口。当您尝试关闭一台服务器并启动新版本时,通常会出现此错误,但第一台服务器在启动新服务器时并未完全关闭。您需要找到有问题的服务器,您可能必须使用kill -9
或其他东西来终止它。
找出端口打开的应用程序的一个好工具是lsof
。这至少应该适用于大多数Unix(Linux)和MacOSX。
lsof -i :8083
lsof
用于LiSting系统上的打开文件,但-i
选项用于互联网地址:
-i [i] This option selects the listing of files any of whose Internet
address matches the address specified in i.
[46][protocol][@hostname|hostaddr][:service|port]
答案 1 :(得分:6)
抛出异常是因为您尝试绑定到另一个进程已在使用的端口。
从命令行使用netstat -a
将显示一个打开端口列表以及正在使用它们的进程。你可以杀死它。
更新
在Windows上,您可以使用netstat -ao
列出所有正在使用的端口以及拥有该连接的进程ID。
在Linux上,您可以使用netstat -p
列出进程ID /程序名称。
答案 2 :(得分:6)
我偶尔会在JBoss服务器上得到这个。您需要重新启动Java并不直观,但上述方法不起作用。
Mac OS X :
SLOW
FAST
ps aux | grep 'java'
列出当前的Java进程及其ID。
kill -9 process_id_goes_here
答案 3 :(得分:1)
例外意味着:已经有一个开放的端口'8083'。您可以通过停止该服务或自己使用其他端口来解决此问题。
我猜你自己的服务已经在你尝试启动时运行,所以在开始新实例之前停止它。
(我知道Tomcat在8080上运行,有时人们会将其更改为8083,但任何人都无法知道使用该端口在您的计算机上运行的服务。)
答案 4 :(得分:0)
终止使用端口8083的进程或将应用程序配置为在另一个端口上运行。智能应用程序尝试自动使用备用端口。
答案 5 :(得分:0)
如果要启动服务器来部署应用程序,则可能会发生任何其他进程或应用程序正在使用该端口。 Outlook,Skype或其他应用程序有时会在我的工作中执行此操作。使用CPorts之类的程序来终止连接并重新启动服务器。
答案 6 :(得分:0)
还有另一种可能性:您可能尝试绑定到错误的IP地址 - JBoss会将此报告为无法绑定到端口。
针对run.sh检查-b选项,并确保它是0.0.0.0或服务器的IP或主机名。
- 如果它是0.0.0.0,则问题是端口正在使用中
- 如果是IP,请使用/ sbin / ifconfig(或Windows上的ipconfig)验证它是否是正确的ip
- 如果是主机名,则运行
telnet hostname_here
并验证解析的IP地址是否是正确的IP地址。
我遇到了这个问题,我发现有人在/ etc / hosts文件中输入了错误的IP地址。一旦我修复了文件,JBoss就开始了。
答案 7 :(得分:0)
在Eclipse中,如果出现此错误,则表示有一个或两个Eclipse实例使用相同的端口。
解决方案是转到操作系统的进程管理器并终止 Eclipse和java进程。
答案 8 :(得分:0)
确保文件conf / bindingservices.beans / META-INF / bindings-jboss-beans.xml中的两个JBOSS实例上的端口不同
大约有10个端口需要更改