部署错误:Tomcat启动失败,服务器端口8080已在使用中

use*_*450 35 java deployment tomcat netbeans

当我使用Netbeans运行我的Java项目时,我收到以下错误:

Deployment error:
Starting of Tomcat failed, the server port 8080 is already in use.
See the server log for details.
        at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:166)
        at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:104)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.GeneratedMethodAccessor619.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
        at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:277)
        at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:460)
        at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:151)
Caused by: org.netbeans.modules.j2ee.deployment.impl.ServerException: Starting of Tomcat failed, the server port 8080 is already in use.
        at org.netbeans.modules.j2ee.deployment.impl.ServerInstance._start(ServerInstance.java:1297)
        at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.startTarget(ServerInstance.java:1251)
        at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.startTarget(ServerInstance.java:1062)
        at org.netbeans.modules.j2ee.deployment.impl.ServerInstance.start(ServerInstance.java:939)
        at org.netbeans.modules.j2ee.deployment.impl.TargetServer.startTargets(TargetServer.java:428)
        at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:143)
        ... 16 more
BUILD FAILED (total time: 4 seconds)
Run Code Online (Sandbox Code Playgroud)

我尝试将服务器端口更改为8081,并在工具 - >服务器中关闭端口.它运行正常,但如果我执行任何操作并运行该项目,它会显示" 部署错误:Tomcat启动失败,服务器端口8081已在使用 "

会出现什么问题?

Jig*_*shi 101

转到命令提示符

netstat -aon
Run Code Online (Sandbox Code Playgroud)

对于Linux

netstat -tulpn | grep 'your_port_number'
Run Code Online (Sandbox Code Playgroud)

它会告诉你类似的东西

 TCP    192.1.200.48:2053      24.43.246.60:443       ESTABLISHED     248
 TCP    192.1.200.48:2055      24.43.246.60:443       ESTABLISHED     248
 TCP    192.1.200.48:2126      213.146.189.201:12350  ESTABLISHED     1308
 TCP    192.1.200.48:3918      192.1.200.2:8073       ESTABLISHED     1504
 TCP    192.1.200.48:3975      192.1.200.11:49892     TIME_WAIT       0
 TCP    192.1.200.48:3976      192.1.200.11:49892     TIME_WAIT       0
 TCP    192.1.200.48:4039      209.85.153.100:80      ESTABLISHED     248
 TCP    192.1.200.48:8080      209.85.153.100:80      ESTABLISHED     248
Run Code Online (Sandbox Code Playgroud)

检查哪个进程绑定了您的端口.在上面的示例中,248如果您确定需要杀死该进程,请执行此操作

Linux的:

kill -9 248
Run Code Online (Sandbox Code Playgroud)

视窗:

taskkill /f /pid 248
Run Code Online (Sandbox Code Playgroud)

它将杀死这个过程

  • 在mac OS`netstat tulpn | grep'8080'` (4认同)

小智 9

如果你在代理服务器后面,这个问题可能会发生我有同样的问题,并通过以下解决:首选项 - >常规 - >代理设置 - >无代理.

"也许tomcat就绪消息被发送到代理 - 并且从未到达IDE."

发现@:https://netbeans.org/bugzilla/show_bug.cgi?id = 231220


iSk*_*riD 6

查看正在运行的进程,似乎当前的 Tomcat 实例没有停止。它仍在运行,并且 NetBeans 尝试启动第二个 Tomcat 实例。这就是异常的原因,您只需停止第一个实例,或者在当前正在运行的实例上部署代码

  • 或者向 nb 开发人员提出问题,以便您和其他可能遇到此问题的人得到正确解决。 (3认同)

小智 6

我在尝试部署时遇到了同样的问题,当Tomcat实例运行时,tomcat无法重启.关闭IDE并检查TASk Manager - 杀死正在运行的任何javaw进程,这解决了我的问题.