java.lang.Exception:端口8083已在使用中

时间:2011-12-07 13:40:26

标签: java networking admin

我在控制台上遇到异常:

java.lang.Exception: Port 8083 already in use.

如何解决此异常?如果我将获得使用8083端口的服务,那么我可以停止该服务,这样我就可以解决这个问题。

感谢您的帮助!

9 个答案:

答案 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

  1. 打开活动监视器。
  2. 按“java”过滤
  3. 退出所有流程(通常只有一个流程)。
  4. 重新启动服务器。
  5. 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个端口需要更改