sbt:找不到启动器jar:./bin/sbt-launch.jar

时间:2018-11-29 03:54:14

标签: scala sbt

我下载了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为   空,而不是“装满垃圾”。

2 个答案:

答案 0 :(得分:2)

问题似乎仅在于您的sbt和启动器jar的路径。您无需触摸LD_LIBRARY_PATH

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

如果失败或要手动安装,则有多个选项。您需要了解的是SBT是一个shell运行器脚本,它依次调用了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脚本,因为您要从项目目录运行此命令。从此开始,如果有任何错误,请发表。

答案 1 :(得分:0)

如果您已经使用 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