我是SBT的新手,不确定如何启动项目。有人能指出我创建Hello World类型项目的初学者指南,还是给我一些线索?
我首选的IDE是IDEA。我根据IDEA Plugins page上的说明运行sbt-idea
。目前我有点困惑,因为
scalaVersion := "2.9.0"
放入build.sbt
文件时,为什么要尝试使用Scala 2.8.1?这意味着IDEA无法识别object HelloWorld extends App {}
。感谢。
答案 0 :(得分:16)
这对我有用:
首先获得sbt和gen-idea插件......
sbt
命令。这应该下载scala库并创建一个“项目”和“目标”目录。在此目录中使用以下行创建一个新文件'build.sbt',如sbt-idea plugin Github wiki所述:
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.0.0")
更改回主项目目录,例如〜/ myCode / myNewProject。运行sbt
。它应该下载gen-idea插件。
gen-idea
命令。它应该创建IDEA项目目录。对我来说,它也会发出大量警告。现在开始使用IDEA SBT控制台插件......
组成一个新的'build.sbt'文件并将其放在〜/ myCode / myProject(或者你称之为的任何东西)中。由于我只是搞清楚sbt,到目前为止我很简单 - 只是提名scalatest作为依赖并使用Scala 2.9:
name := "myProject"
version := "0.1"
organization := "me"
libraryDependencies += "org.scalatest" % "scalatest_2.9.0" % "1.6.1"
scalaVersion := "2.9.0"
在IDEA屏幕底部的SBT控制台中输入reload
命令。它应该为您下载scalatest和Scala 2.9。也许你也需要运行'更新'。
答案 1 :(得分:4)
我写了一篇关于它的very quick guide。它不是一个SBT指南 - 没有办法击败SBT Wiki。这也没有意义,因为人们可以为维基本身做出贡献。
但是,我认为我的快速指南可以让你按照自己的意愿开始运作。
至于目录创建,我得到的答案是SBT希望IDE能够处理 - 我不是很喜欢这种态度,但插件可以完成这项工作。你会看到我安装sbt eclipse插件只是为了让它为我做,即使我自己使用IDEA(当我使用IDE时)。
另外,请注意,理想情况下,您使用了您提到的SBT的IDEA插件,和IDEA的SBT插件。有关插件列表,请参阅here。
除非IDEA插件发展很多,否则你真的需要从SBT生成IDEA配置 - IDEA不会“读取”你的配置。这就是IDEA的SBT插件。安装它,sbt gen-idea
。我希望这能解决你提到的问题。
但请注意,用于编译项目的Scala版本和SBT用于自身的Scala版本确实不同。这不是问题,它是预期的。我不确定你的问题是你提到的2.8.1版本是SBT使用的版本,还是IDEA使用的版本 - 甚至是用于编译项目的版本,表明某些东西不起作用。
在哪里你放了你提到的例子?您应该遵循maven样式的目录层次结构,这意味着将它放在src/main/scala/
上,并且可能是与包相关的子目录,如果您也遵循Java约定。
尝试使用sbt编译,以确保它正常工作,然后再继续使用IDEA。
答案 2 :(得分:0)
我通常把src放到文件夹“src / test / scala”和“src / main / scala”中。 sbt-idea将在想法中添加此文件夹ase source / test文件夹。
sbt本身需要Scala 2.8.1,但此版本与您的代码版本无关。如果你尝试编译一些源sbt将下载Scala 2.9.0。