我当前正在使用IntelliJ Idea 13.0 Build 132.197,并且在构建任何Scala项目时经常遇到此问题
6:08:42 PM Scala compile server: java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.(ServerSocket.java:237)
at com.martiansoftware.nailgun.NGServer.run(Unknown Source)
at java.lang.Thread.run(Thread.java:724)
当我只有1个项目打开并且没有在其他任何过程中使用nailgun时,会发生此错误。关闭并重新打开该项目无效。从IntelliJ退出并重新启动后,仍然出现相同的错误。
在Windows任务管理器中,我看到带有以下详细信息的
java.exe
进程:E:\Dev\Java\bin\java -cp "E:/Dev/Java/lib/tools.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA 132.197/lib/jps-server.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA 132.197/lib/trove4j.jar;C:/Program Files (x86)/JetBrains/IntelliJ IDEA 132.197/lib/util.jar;C:/Users/hanxue/.IntelliJIdea13/config/plugins/Scala/lib/scala-library.jar;C:/Users/hanxue/.IntelliJIdea13/config/plugins/Scala/lib/scala-plugin-runners.jar;C:/Users/hanxue/.IntelliJIdea13/config/plugins/Scala/lib/jps/nailgun.jar;C:/Users/hanxue/.IntelliJIdea13/config/plugins/Scala/lib/jps/sbt-interface.jar;C:/Users/hanxue/.IntelliJIdea13/config/plugins/Scala/lib/jps/incremental-compiler.jar;C:/Users/hanxue/.IntelliJIdea13/config/plugins/Scala/lib/jps/jline.jar;C:/Users/hanxue/.IntelliJIdea13/config/plugins/Scala/lib/jps/scala-jps-plugin.jar" -Xmx1024m -server -Xss1m -XX:MaxPermSize=256m org.jetbrains.plugins.scala.nailgun.NailgunRunner 3200
这是因为Nailgun设置存在问题吗?
最佳答案
这是这种情况的手动解决方案:
在Mac(Linux)上为
lsof -i :3200
在Mac(Linux)上为
ps axu |grep <PID>
org.jetbrains.plugins.scala.nailgun.NailgunRunner 3200
结束在Mac(Linux)上为
kill -9 <PID>