创建简单项目SBT 0.10.X

时间:2011-09-12 18:49:58

标签: scala sbt

(这是对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下创建一个新项目吗?

9 个答案:

答案 0 :(得分:62)

我在这个网页上找到了我想要的答案:Scala 2.9.1, sbt 0.10 and ScalaTest step-by-step

高级步骤是:

  1. mkdir my_project为您的项目创建一个文件夹
  2. 创建一个简单的my_project/build.sbt文件,例如:

    name := "A Project"
    
    version := "0.1"
    
    scalaVersion := "2.9.1"
    
    libraryDependencies ++= Seq(
      "org.scalatest" %% "scalatest" % "1.6.1" % "test"
    )
    
  3. 创建一个文件my_project/src/main/scala/HelloWorld.scala,您可以在其中创建所需的所有目录(例如,创建目录结构src/main/scala/

    object Main extends App { Console.println("Hello World!") }

  4. 执行你的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.versionproject/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项目的基本框架。