【问题标题】:sbt : Could not find launcher jar: ./bin/sbt-launch.jarsbt:找不到启动器 jar:./bin/sbt-launch.jar
【发布时间】:2021-03-09 06:30:48
【问题描述】:

我下载了 sbt-1.2.6.zip 以在 Linux 上使用。我将其解压缩并转到 bin 目录并输入 sbt。我收到此错误:

Could not find launcher jar: ./bin/sbt-launch.jar

该文件与 sbt 位于同一目录中。

我在sbt support page被告知:

“如需社区支持,请在 StackOverflow 上使用标签“sbt”询问。

注意:the other question for this error 的答案是“已删除所有 我的 .bashrc 文件中的 LD_LIBRARY_PATH 元素”。不确定 LD_LIBRARY_PATH 用于查找 jar 文件,而我的 LD_LIBRARY_PATH 是 空的,而不是“充满垃圾”。

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    问题似乎只在于您的 sbt 和启动器 jar 的路径。你不需要触摸LD_LIBRARY_PATH

    首先,许多 linux 发行版和 Mac OSX (brew) 允许您直接从包管理器(如 aptdnfyum 等)安装 sbt,而无需手动下载。如果您的发行版可用并且版本是最新的,您可以使用一个命令来安装它。

    如果失败或您想手动安装,有多种选择。您需要了解的是SBT 是一个shell runner 脚本,它反过来调用jar 文件。

    一种安装方法是使用如下脚本:

    #!/bin/bash
    
    # Downloads the latest version of SBT runner script which in turn downloads
    # SBT launcher JAR and provides lots of convenience methods.
    
    curl -s https://raw.githubusercontent.com/paulp/sbt-extras/master/sbt > sbt && chmod 0755 sbt
    

    here 下载。

    另一个选项就像您所做的那样,例如将所有内容解压缩到某个 bin 目录。如果bin 目录在您的PATH 中,那么输入sbt 应该可以工作,如果不是,那么您必须在该目录中输入cd 并输入./sbt

    从你得到的错误中你应该在上面的目录中,即cd ..。那是因为它正在您当前目录中寻找bin 目录:./bin/sbt-launch.jar。尽管您也可以在脚本中更改该路径以为其提供完整路径或相对于您的主目录的路径,因此它始终有效,但如果 sbt 在您的路径上,您可能不必这样做。

    最后你要确保sbt 脚本在你的PATH 上,因为你想从你的项目目录运行这个命令。如果您有任何错误,请从这里开始。

    【讨论】:

    • 在“sbt”主目录中输入 bin/sbt 可以工作,就像把 $HOME/sbt/bin 放到 PATH 中一样。 (有一个目录和一个名为 sbt 的 shell 脚本)。我正在使用使用 Debian 软件包的 Pixelbook Linux,但它们似乎没有 sbt 软件包。可以试试那个 curl 命令。谢谢!
    【解决方案2】:

    如果您使用brew安装sbt,那么sbt-launch.jar位于以下位置

    ➜  ~ ls /usr/local/Cellar/sbt/1.4.7/libexec/bin/sbt-launch.jar
    /usr/local/Cellar/sbt/1.4.7/libexec/bin/sbt-launch.jar
    

    如果您像我一样使用brew 安装了特定版本的sbt,那么它位于如下文件夹中-

    ➜  ~ ls /usr/local/Cellar/sbt@0.13/0.13.18_1/libexec/bin/sbt-launch.jar
    /usr/local/Cellar/sbt@0.13/0.13.18_1/libexec/bin/sbt-launch.jar
    

    如您所见,sbt-launch.jar 安装在<sbt-home>/libexec/bin/sbt-launch.jar 文件夹中。

    如果你手动安装了sbt,现在忘记了sbt的安装文件夹,那么你可以通过以下命令列出该文件夹-

    ➜  ~ which sbt
    sbt: aliased to /usr/local/Cellar/sbt@0.13/0.13.18_1/bin/sbt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-01
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 2015-01-16
      • 2013-05-16
      相关资源
      最近更新 更多