【问题标题】:IntelliJ Idea IDE using port 1099IntelliJ Idea IDE 使用端口 1099
【发布时间】:2014-10-11 23:19:49
【问题描述】:

我正在使用 IntelliJ Idea Community Edition IDE,并且正在尝试通过命令行使用 Jetty 运行 Maven WebApp。我在 RedHat 盒子上

我运行这个命令:

mvn clean install -P deployJetty -Djetty.port=8083

我得到这个错误:

Listening for transport dt_socket at address: 5005
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 1099; nested exception is: 
    java.net.BindException: Address already in use

有趣的是,当我关闭 IntelliJ Idea 时,1099 端口被释放。 我找不到 Idea 使用此端口的原因和方式。

有什么想法吗?谢谢。

注意:作为一种解决方法,我正在关闭 Idea,运行 Jetty,然后打开 Idea(我猜是强制它选择另一个端口)

【问题讨论】:

  • 很明显 IntelliJ 正在使用端口 1099,可能用于它自己的 RMI 注册表。

标签: java maven intellij-idea jetty rmi


【解决方案1】:

我确信 IntelliJ Idea 在内部不使用 1099 端口。我已将此 PORT 用于 Tomcat。我建议检查您已安装的任何想法插件是否正在此端口上运行。大多数操作系统都可以为您提供在该端口上运行的应用程序名称。

例如:lsof -w -n -i tcp:8080 会给我在我的 linux 机器上运行在 8080 上的应用程序。

希望这会有所帮助。

【讨论】:

  • 使用端口 1099 的进程是“java”(jdk 通过 IntelliJ)。但是你有解决方案。问题出在 FindBugs 插件中。卸载它解决了这个问题。谢谢@Sachi!
  • 对我来说也是 findbugs。我真的不知道为什么,那个插件从来都不是问题..但是在我更新了tomcat之后..它就在端口上
【解决方案2】:

转到终端并终止会话

ps -aef | grep 1099
kill -9 PID

【讨论】:

    【解决方案3】:

    在窗户上:

    步骤1]查找进程:netstat -ano or netstat -aon |find /i "listening" |find "Port no"

    步骤 2] 杀死进程:Taskkill /F /IM (从上面步骤获得的进程 id)

    请看下面的例子:

    【讨论】:

      【解决方案4】:

      确保您在 /etc/hosts 文件中定义了 localhost,并且它只定义了一次

      localhost         127.0.0.1
      

      它使 intelliJ 中的 maven 进程挂起,即使在将 jmx 端口更改为不同的端口后也会导致 port 1099 already in use 错误。

      【讨论】:

      • 帮助解决类似问题(端口 1100)
      【解决方案5】:

      在我的 Mac 上,一个名为“fsnotifier”的进程正在使用端口 1099。谷歌表明它是一个 IntelliJ 文件系统观察程序。通过为 JMX 使用不同的端口来解决。

      【讨论】:

        【解决方案6】:

        在我的例子中,我与在 IDEA 中启动的 JBoss 实例断开连接,服务器继续运行,因此使用 1099 端口进行 JMX。

        您可以使用该端口终止服务器进程(这将是一个使用大量内存的 java 进程)或创建一个远程调试配置,以防您不想重新启动服务器。对本地和远程调试配置使用相同的调试端口。

        【讨论】:

          【解决方案7】:

          因为使用 Terminal 很容易解决。 打开终端并输入以下内容。

          fuser 1099/tcp
          

          如果一个进程使用上述端口,它应该返回类似这样的输出。

          1099/tcp:            2222
          

          最后一列值 (2222) 引用进程 ID (PID)。

          只需 KILL 如下。

          kill -9 2222
          

          现在您可以开始调试了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-07-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-12-12
            • 2014-01-23
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多