(这是对sbt not creating projects correctly的跟进。问题没有得到解答。)
基本上,that question说“我不知道如何在新的sbt下创建项目。使用旧版本,我只是在一个新文件夹中运行sbt
并且有一个向导这导致我完成了设置。“
accepted answer没有解释如何创建新项目,只是指向the documentation,它也没有明确说明如何创建新项目 - 只是如何编写{ {1}}档案。
所以我尝试首先编写一个build.sbt
,然后在build.sbt
文件的目录中运行sbt
,但我仍然没有看到build.sbt
目录可以工作用。
有人可以逐步发布一个简单的步骤(我假设最多有三个步骤),指导如何在sbt 0.10.X下创建一个新项目吗?
答案 0 :(得分:62)
我在这个网页上找到了我想要的答案:Scala 2.9.1, sbt 0.10 and ScalaTest step-by-step。
高级步骤是:
mkdir my_project
为您的项目创建一个文件夹创建一个简单的my_project/build.sbt
文件,例如:
name := "A Project"
version := "0.1"
scalaVersion := "2.9.1"
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "1.6.1" % "test"
)
创建一个文件my_project/src/main/scala/HelloWorld.scala
,您可以在其中创建所需的所有目录(例如,创建目录结构src/main/scala/
)
object Main extends App {
Console.println("Hello World!")
}
执行你的sbt命令:例如sbt run
答案 1 :(得分:35)
我很惊讶没有人提供另一个最接近旧方式的解决方案(如@dsg所述)在sbt中创建一个简单的项目: 只需在项目目录中运行sbt,然后在sbt REPL中发出以下命令:
> set name := "MyProject"
> set version := "1.0"
> set scalaVersion := "2.9.0"
> session save
> exit
当然,它只是稍微有用,因为它只会创建build.sbt文件(足以使它成为一个合适的sbt项目)并设置相应的属性,你也可以手动创建文件(我通常更喜欢这样做我自己)。它也不会创建src
目录。
答案 2 :(得分:16)
就在几天前,发布了sbt的 np (新项目)插件。它打算完全解决这个问题:
初次发布。提供用于生成新sbt的最小接口 项目通过,... sbt。
基本用法是全局安装插件并启动新项目 与
$ sbt
$ np name:my-project org:com.mypackage version:0.1.0-SNAPSHOT
这将为您生成一个简单的 build.sbt 项目 主要和测试源的标准项目目录结构。
有关更多高级用法,请参阅项目的readme以获取更多信息
答案 3 :(得分:11)
您可以使用https://github.com/n8han/giter8使用各种模板生成项目布局
答案 4 :(得分:4)
在较新版本的sbt中,您只需安装sbteclipse:
即可// ~/.sbt/plugins/build.sbt
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")
然后从sbt的控制台你可以运行:
eclipse with-source=true
在0.10.x版本中,我认为这篇文章可以帮到你:
http://dcsobral.blogspot.fr/2011/06/very-quick-guide-to-project-creation-on.html
答案 5 :(得分:1)
我一直在使用https://github.com/ymasory/sbt-prototype骨架。另请参阅我的other answer。
这是第一个刚刚起作用的人,从那以后我对它非常满意。
答案 6 :(得分:1)
别忘了最近的sbt 0.13.3 new
command :
示例:
首先,您需要sbt的发射器版本0.13.13或更高版本 通常,sbt启动程序的确切版本无关紧要,因为它将使用
sbt.version
中project/build.properties
指定的版本;但是对于新的sbt发射器,需要0.13.13或更高版本,因为命令在没有project/build.properties
的情况下起作用。接下来,运行:
$ sbt new eed3si9n/hello.g8
....
name [hello]:
scala_version [2.11.8]:
Template applied in ./hello
使用
eed3si9n/hello.g8
运行模板Giter8
,提示输入“name”和“scala_version”的值(默认为“hello
”和“2.11.8
“,我们接受了[Enter]),并在./hello
下创建了一个版本。
答案 7 :(得分:0)
查看GitHub回购Scala SBT Template。特别是buildt.sbt文件。
只需克隆repo,转到该目录,然后调用sbt
命令。
$ git clone git://github.com/dph01/scala-sbt-template.git
$ cd scala-sbt-template
$ ./sbt
从sbt
内部,您可以输入run
来执行提供的代码。玩得开心!
答案 8 :(得分:0)
使用Intellij生成项目结构的另一种方法:
为项目创建目录并包含一个基本的sbt文件。您只需指定项目名称即可。
name:=" porjectName"
使用Intellij导入项目。在此过程中,请检查选项"使用自动导入"和#34;自动为空内容根创建目录"
这将为您创建sbt项目的基本框架。