JBoss启动时出错:地址已在使用中

问题描述 投票:0回答:5

当我想启动 JBoss 服务器时遇到问题。我正在使用 Netbeans,并使用

Server > Add Server > JBoss Application Server
添加了我的服务器。

我使用端口

8181
配置了我的服务器,因为端口
8080
已在使用中。但是当我启动它时,它失败了,因为它正在尝试连接到端口
8080

10:10:48,071 错误 [org.jboss.msc.service.fail](MSC 服务线程 1-5) MSC00001: 无法启动服务 jboss.web.connector.http: 服务中的 org.jboss.msc.service.StartException jboss.web.connector.http:JBAS018007:

启动 Web 连接器时出错 org.jboss.as.web.WebConnectorService.start(WebConnectorService.java:271) 在 org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 在 org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_79] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_79] 在 java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]

由以下原因引起:LifecycleException:L'initialization du 协议管理:java.net.BindException: Address 已在使用:JVM_Bind /127.0.0.1:8080 org.apache.catalina.connector.Connector.init(Connector.java:985) 在 org.jboss.as.web.WebConnectorService.start(WebConnectorService.java:267) ...还有5个

我使用的是 JDK 1.7。我的环境变量配置得很好:

JAVA_HOME = path/to/jdk1.7
。在Netbeans中,在服务器的属性中,我的Java平台是JDK 1.7。

这是检查值的日志的开头:

在\standalone.conf.bat中调用“C:\Server\jboss-as-7.1.0.Final” “JAVA_OPTS 已在环境中设置;覆盖默认设置

值:-Xms128m -Xmx512m -XX:MaxPermSize=256m"

JBoss 引导环境

JBOSS_HOME:C:\Server\jboss-as-7.1.0.Final

JAVA: C:\Program Files\Java\jdk1.7.0_79 in\java

JAVA_OPTS:-XX:+分层编译-Dprogram.name=standalone.bat -Xms128m -Xmx512m -XX:MaxPermSize=256m

预先感谢您的帮助!

java netbeans jboss jboss7.x
5个回答
6
投票

检查目录

standalone.xml
中的
$JBOSS_HOME$/standalone/configuration
并检查元素

<socket-binding name="http" port="XXXX"/>

XXXX 是否等于

8181
8080
?我敢打赌这是
8080
。将其更改为
8181
并重新启动 JBoss。


5
投票

如果您不确定哪个进程正在阻塞您的端口(如果您将应用程序部署到未知服务器,这种情况时常发生),您真的想看看

netstat.exe
工具(Windows 的一部分):

cmd -> "netstat -o"

这将向您显示正在使用的每个端口以及使用它的

Pid
(进程 ID)。使用此 ID,您可以在任务管理器中看到哪个进程正在阻塞您的端口。

Netstat
还有一些其他方便的选项。


0
投票

检查您的standalone.xml: 并检查两个端口:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> &
<socket-binding name="http" port="9090"/>

如果您将 http 端口设置为 9090,则偏移量应为 0。


0
投票

对我来说,我已将 intellij 文件 -> 设置 -> 调试器(内置服务器)端口更改为其他端口(8080 除外),如

所示

Screenshot


0
投票

在命令提示符下运行此命令以检查是否有任务正在运行:

netstat -ano | findstr {your_port}

如果有,您将能够看到任务ID,然后运行以下命令删除正在运行的任务:

taskkill /F /pid {task_id}

如果您没有看到任何输出,则意味着没有任何内容正在运行,并且它应该可以工作。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.