首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"sbt服务器已经启动。“从wsl2 ubuntu启动sbt时出错

"sbt服务器已经启动。“从wsl2 ubuntu启动sbt时出错
EN

Stack Overflow用户
提问于 2020-11-12 17:48:43
回答 1查看 2K关注 0票数 3

我在wsl2 ubuntu安装程序上使用sdkman安装了sbt。目前已安装sbt 1.4.2。当我尝试从终端启动它时,如果我选择n,它就会给sbt server is already booting. Create a new server? y/n (default y),什么都不会发生。如果我选择y,那么sbt就开始了。我想要做的是能够启动sbt而没有错误消息。因为这种行为破坏了visual studio代码中的金属。

我检查了sbt源代码,发现下面的方法在sbt/main/src/main/scala/sbt/Main.scala中打印错误消息。

代码语言:javascript
复制
private def getSocketOrExit(
      configuration: xsbti.AppConfiguration
  ): (Option[BootServerSocket], Option[Exit]) =
    try (Some(new BootServerSocket(configuration)) -> None)
    catch {
      case _: ServerAlreadyBootingException
          if System.console != null && !ITerminal.startedByRemoteClient =>
        println("sbt server is already booting. Create a new server? y/n (default y)")
        val exit = ITerminal.get.withRawInput(System.in.read) match {
          case 110 => Some(Exit(1))
          case _   => None
        }
        (None, exit)
      case _: ServerAlreadyBootingException =>
        if (SysProp.forceServerStart) (None, None)
        else (None, Some(Exit(2)))
    }
}

因此,调用new BootServerSocket(configuration)会引发异常。异常源是来自BootServerSocket.java的以下方法;

代码语言:javascript
复制
static ServerSocket newSocket(final String sock) throws ServerAlreadyBootingException {
    ServerSocket socket = null;
    String name = socketName(sock);
    try {
      if (!isWindows) Files.deleteIfExists(Paths.get(sock));
      socket =
          isWindows
              ? new Win32NamedPipeServerSocket(name, false, Win32SecurityLevel.OWNER_DACL)
              : new UnixDomainServerSocket(name);
      return socket;
    } catch (final IOException e) {
      throw new ServerAlreadyBootingException();
    }
  }

我检查了isWindows方法,它返回false。因此,new UnixDomainServerSocket(name)部分正在运行。而且它无法创建unix域服务器套接字。我只知道这些。有办法解决这个问题吗?还是这是个窃听器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-16 07:58:08

将我的项目文件移动到wsl2中的一个目录后,问题就解决了。我的项目文件以前在Windows目录中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64809111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档