SBT 0.10 和 IDEA 初学者指南

2023-11-21

我是 SBT 新手,不确定如何开始项目。有人可以向我指出创建 Hello World 类型项目的初学者指南,或者给我一些线索吗?

我首选的 IDE 是 IDEA。我跑了sbt-idea根据说明IDEA 插件页面。目前我有点困惑,因为

  • 没有创建源文件夹 - 我应该在哪里/如何创建它们以及 SBT 如何知道在哪里查找?
  • 为什么它尝试使用 Scala 2.8.1,当我已经把scalaVersion := "2.9.0" in the build.sbt文件?这意味着IDEA无法识别object HelloWorld extends App {}.
  • 上面插件页面上的说明建议更改“运行配置(包括默认运行配置)”的启动前选项。对于列出的不同事物,有 13 种不同的默认配置 - 要更改哪一项?我应该创建一个新的吗?这些默认配置仅适用于该项目还是会对我所有其他不使用 SBT 的项目产生不利影响?

Thanks.


这对我有用:

首先让 sbt 和 gen-idea 插件运行起来......

  1. 下载 sbt-launch.jar 并创建用于启动它的脚本,如上所述SBT Github 维基.
  2. 为您的新项目创建一个目录,例如(在 Linux 上)~/myCode/myNewProject 并更改为该目录
  3. Run sbt命令。这应该下载 scala 库并创建“项目”和“目标”目录。
  4. 更改为“项目”目录。
  5. 在此目录中创建一个新文件“build.sbt”,其中包含以下行,如上所述sbt-idea 插件 Github wiki:

    resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
    
    addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.0.0")
    
  6. 更改回主项目目录,例如 ~/myCode/myNewProject。跑步sbt。它应该下载 gen-idea 插件。

  7. 从 sbt 控制台(现在应该正在运行),运行gen-idea命令。它应该创建 IDEA 项目目录。对我来说,它也发出了大量警告。

现在让 IDEA SBT 控制台插件运行起来......

  1. 打开 IDEA 并从插件管理器安装“SBT”插件,然后重新启动 IDEA。 (注意这是 IDEA 插件,而不是上面描述的 sbt 插件。) 配置SBT插件正如其维基上所描述的(运行配置、sbt-launch.jar 的位置等)。
  2. 在IDEA中打开刚刚生成的IDEA项目。
  3. 将您的代码和其他内容放入预期的默认目录中,如上所述sbt wiki 下的“目录布局”。您需要自己创建这些目录 - sbt 不会自动创建它们。 “src”和“test”目录应与 sbt 创建的“project”和“target”目录处于同一级别。
  4. 创建一个新的“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"
    
  5. 输入reloadIDEA 屏幕底部的 SBT 控制台中的命令。它应该为您下载 scalatest 和 Scala 2.9。也许您还需要运行“更新”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SBT 0.10 和 IDEA 初学者指南 的相关文章

随机推荐

  • 如何在 C# 应用程序中访问二进制资源

    我正在尝试将空的 Access 数据库 mdb 作为资源存储在我的应用程序中 然后我想将其写出文件系统并用表定义等填充它 我在 Visual Studio 2005 和我的 C 应用程序中遇到的问题是无法访问存储在同一程序集中的资源 我本来
  • 在运行 iOS7 的设备上测试 iOS 6 应用程序

    我有一部 iPhone 4s 我的手机收到 iOS 7 更新 所以问题是 我可以在 iOS 7 设备上通过 Xcode 运行 iOS 6 应用程序吗 NOTE 我还没有 XCode 5 所以这就是我想了解如何在装有 iOS 7 的 iPho
  • 为什么 UIScrollView 添加对象后无法完全滚动?使用故事板、ARC 和 Xcode 4.5.2

    所以 我知道有与我类似的问题 但可能不准确 所以请不要标记我 只是警告我或其他什么 我已经搜索了几天来寻找这个简单问题的解决方案 使用故事板 ARC 和 Xcode 4 5 2 我只需要将一堆标签放入 UIScrollView 中并使其垂直
  • 在 Visual Studio 2008 中使用自定义安装程序时出现错误 1001

    我创建了一个简单的 winforms 应用程序和一个自定义安装程序 这一切看起来很简单 但我在事件日志中收到以下弹出窗口和错误详细信息 来自源 MsiInstaller 的事件 ID 11001 的描述无法 成立 引发此事件的组件未安装在
  • kafka.consumer.SimpleConsumer:由于套接字错误而重新连接:java.nio.channels.ClosedChannelException

    我正在为 kafka 运行一个简单的消费者 如下所示 int timeout 80000 int bufferSize 64 1024 consumer new SimpleConsumer host port timeout buffer
  • 如何序列化异步/等待?

    假设我有这个简单的片段 async void button Click object sender RoutedEventArgs e await Task Factory StartNew gt Console WriteLine sta
  • 与 Python 的代理连接

    我一直在尝试从 python 连接到 URL 我努力了 urllib2 urlib3 和请求 我在所有情况下都遇到同样的问题 一旦我得到答案 我想他们三个都会工作得很好 问题是通过代理连接 我已经输入了我们的代理信息 但没有得到任何快乐 我
  • 如何在 PHP 中对具有依赖关系的方法进行单元测试?

    我有一个带有一些逻辑的方法 但我不确定如何对其进行单元测试 因为它是针对此特定方法的单元测试 所以它应该在不连接到数据库的情况下运行 我读过有关存根和模型的内容 但我找不到将它们应用于这种情况的方法 我想强制 Client GetClien
  • kaminari 未定义方法 `total_pages'

    在使用 kaminari 时 我遇到了错误 Gemfile gem will paginate gt 3 0 6 gem will paginate bootstrap gem kaminari 列表控制器 rb def index if
  • 在变量声明中使用冒号[重复]

    这个问题在这里已经有答案了 最近有人问我这在 Python 中意味着什么 gt gt gt char str 我不知道 我检查了文档 没有类似的内容 一个建议是它是静态类型声明 但文档中也完全没有关于这一点的内容 有了上面的内容 如果我 g
  • 动态加载部分视图

    对于一个项目 我需要一种加载部分视图的动态方式 最好是通过 jquery ajax 这是我需要的功能 用户输入表单 将显示一个下拉列表 并使用一些输入控件呈现通用部分视图 用户在下拉列表中选择不同的值 局部视图刷新 根据下拉列表的值 它应该
  • 的内容在哪里' aria-label='getChildHtml('right') ?> 的内容在哪里'> getChildHtml('right') ?> 的内容在哪里

    我正在尝试重新组织我的右侧边栏 在模板 右2列 中 它调用 我在哪里可以找到这个变量的内容 对方法的调用getChildHtml 使用传递给方法的名称加载子块的 HTML 因此在本例中我们正在寻找名为的子块right 为了确定在哪里找到这个
  • asp.net“已达到网络 BIOS 命令限制”ASP.NET 2.0 + 3.5

    我正在尝试在 ASP NET 2 0 3 5 中运行 tinyMCE 文本编辑器 但我的 web config 文件中出现以下错误 加载配置文件时发生错误 无法开始监视对 Visual Studio 2005 WebSites TinyMC
  • 如何将 NSRect 更改为 CGRect?

    void drawRect NSRect rect imgRect orgin NSZeroPoint imgRect size appleImage size drawRect self bounds appleRect drawInRe
  • Fragment.onCreateView 具有空容器

    以下代码在 Android 1 6 上运行 因此我使用片段的兼容性包 在下面的TestFragment是一个静态嵌套类 public class FragmentTestActivity extends FragmentActivity O
  • 补丁请求 Android Volley

    我目前正在一个项目中使用 Android 的 Volley 网络库 我已经从以下位置拉下了凌空的主分支https android googlesource com platform frameworks volley 所以我的库项目应该是最
  • R .libPaths() RStudio 和命令行 R 之间的区别

    当我从命令行运行 R 时 gt library ggplot2 gt path package ggplot2 1 home yang R x86 64 pc linux gnu library 2 13 ggplot2 gt libPat
  • 为 iOS(iPhone 和 iPad)制作两个故事板

    是否可以只制作一个应用程序 并在其中制作两个故事板 一个用于 iPhone 一个用于 iPad 我不喜欢在 iPad 上运行应用程序并单击 2x 按钮的想法 我的想法是创建两个故事板 并有一个入门课程 该课程将检查您使用的设备是 iPhon
  • 如何使用 Python 和 Gracenote 识别音乐样本?

    我最近发现了GNSDK Gracenote SDK 似乎提供了多种编程语言的示例 通过指纹识别音乐样本 然后请求其音频数据库获取相应的艺术家和歌曲标题 但文档太糟糕了 如何使用 Python 和 GNSDK 执行音频样本文件的识别 提供的文
  • SBT 0.10 和 IDEA 初学者指南

    我是 SBT 新手 不确定如何开始项目 有人可以向我指出创建 Hello World 类型项目的初学者指南 或者给我一些线索吗 我首选的 IDE 是 IDEA 我跑了sbt idea根据说明IDEA 插件页面 目前我有点困惑 因为 没有创建