我已经安装了Scala 2.10.3 和SBT 0.13.1 。当我在Hello, World from the SBT documentation之后执行SBT时,收到以下错误消息:
“sbt执行期间出错:未指定或检测到Scala版本”
我尝试使用build.sbt
添加scalaVersion
文件,但错误仍然显示。
请告知。
我刚刚将sbt降级为0.12.3并且它有效...所以0.13.X有什么问题?
答案 0 :(得分:6)
升级0.13。*版本不是问题。它是导致问题的存储库缓存。对于缓存中的sbt jar,有可能会破坏/没有ivys(当只通过maven repo下载jar时)。
升级后删除你的常春藤仓库缓存(或重命名文件夹)并删除.sbt / boot文件夹(删除它将启用从头开始)
编辑./sbt/repositories文件并提供常春藤存储库的首选项。如果您使用的代理存储库包括常春藤和maven样式工件,请按以下方式添加
[repositories]
local
maven-local
maven-central-ivy: http://<repository url>, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
maven-central: http://<repository url>
这将特别启用(org.scala-sbt / sbt / *)下载Ivys xml,从中为构建选择版本/修订版和依赖项。如果仅从&#34; maven-central&#34;下载jar,则会发生错误。
答案 1 :(得分:1)
这是IDE的问题,您在其中特别使用了scala插件。 您可以直接在build.sbt创建的文件夹中使用它。删除“项目”文件夹并打开cmd,在该文件夹上运行“ sbt”命令,将创建一个新的项目文件夹。现在,您可以在IDE中打开它。 可能是您可能会首先在思想上发现一些问题,如果您一次构建项目,所有的问题都会消失。
答案 2 :(得分:0)
我完全按照@Gopi的建议做了,但这是我的存储库文件内容:
[repositories]
local
jcenter: https://jcenter.bintray.com/
maven-central
typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sbt-ivy-snapshots: https://repo.scala-sbt.org/scalasbt/ivy-snapshots/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
我的SBT版本:1.1.1 java版1.8 Windows 10
希望有所帮助, BR。保罗
答案 3 :(得分:-1)
我还通过自制程序在我的机器上安装了Scala和SBT,并且可以运行给定的简单hello示例,所以我猜你做错了什么: - )
请提供更多诊断信息,例如:
'sbt'和'scala'这两个命令的输出是什么? 您应该看到如下结果:
$ which scala
/usr/local/bin/scala
$ which sbt
/usr/local/bin/sbt
$ ls -laF /usr/local/bin/sbt
lrwxr-xr-x 1 rjk admin 28 Feb 9 13:32 /usr/local/bin/sbt@ -> ../Cellar/sbt/0.13.1/bin/sbt
$ ls -laF /usr/local/bin/scala
lrwxr-xr-x 1 rjk admin 32 Feb 9 13:38 /usr/local/bin/scala@ -> ../Cellar/scala/2.10.3/bin/scala
在给出运行示例代码的目录的情况下,除了hw.scala示例之外它是否完全是空的?或者您是否还添加了build.sbt或project / build.properties?如果是这种情况,最好还列出这里发现它们的任何问题。