21

如何在 sbt、Eclipse 和 github 中初始化一个新的 Scala 项目,让它们一起玩……

4

2 回答 2

30

一个新的 Scala 项目通常需要为 sbt、eclipse(如果您选择)和 github 设置,以便它们一起工作。在此设置上投入一些时间后,只要没有更简单的方法可用,拥有此列表以对齐这 3 个工具/服务可能会有所帮助。对我有用的一系列步骤如下。它假设您在 eclipse 中安装了 Scala IDE 插件。

  1. 在 Github 中创建一个新的仓库。
  2. 确定新项目的目录位置
  3. 在 Eclipse 中,使用 Git Repositories View 将 Github 存储库导入该位置。或者,您可以为此使用命令行 git。
  4. 找到您为项目选择的同一位置并运行sbt eclipse. 这确保 eclipse 能够处理 sbt 项目结构,以便您的项目可以由 sbt 构建,同时也可以被 eclipse 理解。如果sbt eclipse不起作用,sbt eclipse 插件可能没有安装在 sbt - install it中。
  5. 在 eclipse 中,使用File --> Import --> General --> Existing Projects into Workspace,选择相同的位置,以便 eclipse 为 sbt 刚刚准备好的文件结构构建其项目结构。
  6. 通过更新 .gitignore 文件以忽略 eclipse 和 sbt 文件,使 git 忽略新项目的核心以外的所有内容。以下似乎目前很好。

    *.class
    *.log
    
    # sbt specific
    dist/*
    target/
    lib_managed/
    src_managed/
    project/boot/
    project/plugins/project/
    
    # Scala-IDE specific
    .scala_dependencies
    
    # Eclipse specific
    .project
    .classpath
    .cache
    

您现在应该能够在 eclipse 和 sbt 中运行该项目,并通过 git 提交和推送代码更改。要查看空项目运行,这在这个阶段可能很有意义,您可以在 eclipse 中添加一个 scala 类,仅包含以下代码。请注意,scala 源代码通常应位于 src/main/scala 下。如果此路径尚不存在,请通过例如mkdir -p src/main/scala在 Unix 上创建它。

object hello {
  def main(args: Array[String]) {
    println("Main starting")  
  }
}

或者仅此代码:

object app extends App {
  println("Application starting")  
}

它现在应该可以工作了。需要声明的是,未来版本的 eclipse、sbt 等可能会使它过时。如果这在您的环境中是完全错误的,您可以添加一个更好的答案。

于 2013-03-13T09:26:02.633 回答
0

以前的答案和问题一样重要,因为这些工具不是自我解释的。根据对这一挑战的个人经验,这似乎是不可能的,但当人们承认几个关键的保险政策参考点时,事情将成为现实:

  1. 由于采用了新工具,开发环境的实现可能需要彻底重新安装(如果您在已经安装 SBT 后采用 GIT,您可能需要清空 SBT 的工作目录,因为 GIT 要求克隆过程在本地工作目录上有空房子)
  2. 保持非常好的更新备份,尤其是在考虑重新设置任何这种“多米诺骨牌”环境层时,因为某些 GUI 或命令启动的清理操作确实会处理这一点,有时效果令人惊讶,而且不考虑其他工具/层的要求
  3. 在关键阶段保留非常好的文档(包括以前的务实答案)以使事情成为现实(再次)
于 2018-09-18T22:11:50.520 回答