23

我需要在 IntelliJ IDEA 中为 Tomcat6 调试一个 Web 应用程序。

当我尝试运行我的 Web 应用程序时,出现两个错误:

  1. 地址 localhost:1099 已被使用
  2. 无法打开调试器端口:java.net.SocketException

手动启动 Apache Tomcat 6 服务可以正常工作。

为了能够从 Intellij IDEA 调试 Apache Tomcat 6 中的 Web 应用程序,我应该怎么做?

4

10 回答 10

34

按照以下步骤工作: -

  1. 打开命令提示符并键入命令netstat -ano
  2. 您将看到以PID作为最后一列的活动 TCP 连接列表
  3. 查看列出本地地址的第二列,并从中找到使用端口 1099 的地址,您将获得其 PID
  4. 现在打开您的任务管理器,单击进程选项卡并显示 PID 列[通过右键单击标题行并选择 PID 或单击查看,然后单击选择列并选择 PID。]
  5. 现在找到我们从 Step3 获得的 PID 并结束该过程。

现在你可以走了:)

于 2015-11-03T10:46:34.260 回答
24

我一直面临这个问题。这是解决方法

LINUX

打开一个终端实例。

fuser 1099/tcp

这应该会返回一个进程 ID。

1099/tcp:            31596

其中 31596 是进程 ID。现在你可以使用进程 ID 来杀死它,或者只是 bash 以下 -

fuser -k 1099/tcp

视窗

打开命令提示符实例。

netstat -aon | find "1099"

这将为您返回该流程的一个实例。

输出:

TCP    0.0.0.0:1099       0.0.0.0:0       LISTENING       15776

这里 15776 是进程 ID。要杀死它,请输入 -

taskkill /F /PID 15776

干杯!

于 2016-08-15T10:25:26.790 回答
11

您可以在“运行/调试配置”对话框中更改 JMX 端口(默认为 1099) 。只需尝试不同的端口号(即 9099)。

于 2014-02-15T08:16:23.290 回答
9

如果您之前启动并运行了 Web 应用程序,则可能有一个旧的调试服务器在后台运行时没有正常关闭。有关如何查找使用端口 1099 的进程的信息,请参阅这篇文章。如果证明是 java 进程,请杀死它。

如何找出正在侦听 Windows 端口的进程?

(如果您使用上面链接中建议的 GUI sw,您可以通过标记所有使用端口 1099 的 Java 进程来终止进程,右键单击并按“结束进程...”)

于 2013-10-17T06:02:03.720 回答
2

如前所述,后台运行着一个旧的调试服务器。

我的解决方案是关闭从 Windows 任务管理器中打开的 Java 进程。

请先确认您可以关闭此进程,然后再执行此操作!

于 2014-03-27T14:13:17.240 回答
1

将您的 http 端口更改为 8080(tomcat 的默认端口)并将端口调试为当前未被任何进程使用的端口。您可以使用大于 1024 的任何值,但由于您在 1099 上遇到错误,请尝试使用大于 6000 的值。

调试器设置可以在这里找到

于 2013-09-11T12:10:32.693 回答
0

可能有其他程序或服务器在后台运行。首先关闭在后台运行的其他服务器,然后重新启动您的服务器。

于 2015-04-19T05:29:45.690 回答
0

我发现这个答案很有帮助:

如何找出正在侦听 Windows 端口的进程?

我打开资源监视器并查找正在使用端口的内容。然后打开任务管理器并结束这些进程

于 2015-08-10T08:59:30.263 回答
0

对我有用的是。我假设我需要在“服务”[Windows + R >> services.msc]下运行“Apache Tomcat”服务

我去这里停止了Tomcat服务。然后我来到我的 Java 应用程序并在 Intellij 中运行它,它允许我运行它。

希望这可以帮助!

于 2018-09-29T22:53:42.183 回答
-2

只需在使用 InteliJ 时关闭所有其他不必要的服务器。

我停止了我的 WAMP 以消除此错误“端口已在使用中”。

于 2017-06-24T22:31:26.837 回答