Подтвердить что ты не робот

Scala ошибка компиляции сервера при использовании nailgun

В настоящее время я использую 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?

4b9b3361

Ответ 1

Вот ручное решение такой ситуации:

  • найдите процесс (PID), прослушивающий порт 3200 (проверьте его в настройках > scala > tcp port)
    • на Mac (Linux): lsof -i :3200
  • проверьте, что процесс
    • на Mac (Linux): ps axu |grep <PID>
    • в моем случае это закончилось с org.jetbrains.plugins.scala.nailgun.NailgunRunner 3200
  • убейте процесс, он старый, и IDEA запустит новый
    • на Mac (Linux): kill -9 <PID>