Java 无法从IntelliJ IDEA 12.1.4 Ultimate(Windows 7)启动Apache Tomcat 6

Java 无法从IntelliJ IDEA 12.1.4 Ultimate(Windows 7)启动Apache Tomcat 6,java,tomcat,intellij-idea,tomcat6,Java,Tomcat,Intellij Idea,Tomcat6,我需要在IntelliJ IDEA中调试Tomcat6的web应用程序 当我尝试运行web应用程序时,出现两个错误: 地址localhost:1099已在使用中 无法打开调试器端口:java.net.SocketException 手动启动ApacheTomcat6服务工作正常 为了能够从Intellij IDEA调试Apache Tomcat 6中的web应用程序,我应该怎么做?将http端口更改为8080(Tomcat的默认端口),并将调试端口更改为任何进程当前未使用的端口。您可以使用102

我需要在IntelliJ IDEA中调试Tomcat6的web应用程序

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

  • 地址localhost:1099已在使用中
  • 无法打开调试器端口:java.net.SocketException
  • 手动启动ApacheTomcat6服务工作正常


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

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


    可以找到调试器设置

    如果您以前启动并运行过web应用程序,则可能有一个旧的调试服务器未在后台正常关闭运行。有关如何查找使用端口1099的进程的信息,请参阅本文。如果它被证明是一个java进程,那么杀死它


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

    您可以在运行/调试配置对话框中更改JMX端口(默认为1099)。请尝试另一个端口号(即9099)。

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

    我的解决方案是关闭Windows任务管理器中保持打开状态的Java进程


    执行此操作之前,请验证您是否可以关闭此进程

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

    我发现这个答案很有用:


    我打开了资源监视器,查找正在使用端口的内容。然后打开任务管理器并按照以下步骤结束这些过程:-

  • 打开命令提示符并键入命令netstat-ano
  • 您将看到一个活动TCP连接列表,最后一列为PID
  • 查看列出本地地址的第二列,并从中找到使用端口1099的地址,您将获得其PID
  • 现在打开任务管理器,单击“流程”选项卡并获取要显示的PID列[右键单击标题行并选择PID,或单击“视图”,然后单击“选择列并选择PID。]
  • 现在找到我们从步骤3得到的PID并结束该过程

  • 现在你可以走了:)

    我一直面临这个问题。下面是如何修复它

    LINUX

    打开一个终端实例

    fuser 1099/tcp
    
    netstat -aon | find "1099"
    
    这将返回一个进程ID

    1099/tcp:            31596
    
    其中31596是进程ID。现在,您可以使用进程ID终止它,也可以直接重击以下内容-

    fuser -k 1099/tcp
    
    窗口

    打开命令提示符实例

    fuser 1099/tcp
    
    netstat -aon | find "1099"
    
    这将返回流程的一个实例

    输出:

    这里15776是进程ID。要终止它,请输入-

    taskkill /F /PID 15776
    

    干杯

    使用InteliJ时,只需关闭所有其他不必要的服务器即可


    我停止WAMP以删除此错误“端口已在使用”。

    对我有效的是。我假设我需要在“服务”下运行“ApacheTomcat”服务[Windows+R>>Services.msc]

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


    希望这有帮助

    在安装Tomcat时,我专门输入了端口号,这些端口号在
    netstat-A
    的输出中不存在。我如何更改Tomcat的JMX端口?@dmitrisarenko您可以在catalina-tasks.xml中更改端口。检查此项。我的安装中不存在其中提到的一些文件(例如setenv.bat),可能是因为我将Tomcat安装为Windows服务。@DmitriPisarenko-所以你是在Windows上,而不是在MAC上。然后请转到安装tomcat的文件夹,找到名为
    tomcat6w.exe
    的文件,并打开
    java
    选项卡。在那里,您可以找到一个名为
    java-options
    的文本区域。在这里添加以下行
    -Xdebug-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
    。确保将
    8000
    更改为要调试的任何端口。您必须使用GUI重新启动tomcat才能使更改生效。我完全赞成这个答案。通常,我需要终止一个java.exe进程,这是前一个仍在运行的tomcat进程。终止此进程可以解决问题。+1表示“如果您以前启动并运行过web应用程序,可能有一个旧的调试服务器没有在后台正常关闭运行”,这正是我的情况-非常有用。节省大量时间。就我而言,在Windows上使用1099端口的是
    SCComm
    (一项重要任务)。所以我不能就这样结束任务。最简单的解决方案是更改JMX端口号,如图所示。请小心操作。您可以在计算机上运行一些其他进程。