如何在 sbt、Eclipse 和 github 中初始化一个新的 Scala 项目

Posted

技术标签:

【中文标题】如何在 sbt、Eclipse 和 github 中初始化一个新的 Scala 项目【英文标题】:How to initialize a new Scala project in sbt, Eclipse and github 【发布时间】:2013-03-01 03:36:47 【问题描述】:

,让它们一起玩……

【问题讨论】:

【参考方案1】:

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

    创建一个新的仓库in Github。 确定新项目的目录位置 在 Eclipse 中,使用 Git 存储库视图将 Github 存储库导入该位置。或者,您可以为此使用命令行 git。 找到您为项目选择的同一位置并运行sbt eclipse。这确保 eclipse 能够处理 sbt 项目结构,以便您的项目可以由 sbt 构建,同时也可以被 eclipse 理解。如果sbt eclipse不起作用,可能是sbt中没有安装sbt eclipse插件-install it。 在 eclipse 中,使用File --> Import --> General --> Existing Projects into Workspace,选择相同的位置,以便 eclipse 为 sbt 刚刚准备好的文件结构构建其项目结构。

    通过更新 .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 等可能会使它过时。 如果这在您的环境中完全错误,您可以添加更好的答案。

【讨论】:

这很有价值。您想把它变成Scala IDE 文档页面上的教程吗? 当然。也许只是到这里的链接? 这里是在 sbt 中安装 sbt eclipse 插件的方法(第 2 步):mkdir -p ~/.sbt/plugins && echo 'addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.2")' >> ~/.sbt/plugins/plugins.sbt && sbt 当我忽略 .project 和 .classpath 时,我的项目似乎无法正确移植。关于它的用途有什么想法吗?您是否为每个环境设置了新的 .project 和 .classpath 文件? 端口?其他人可能不会使用 eclipse,以及一些部署环境,例如Heroku,不需要 .classpath 文件。这就是将它们排除在 git 之外的原因。您是正确的,您不能将相同的 github 存储库拉入新机器并在 eclipse 中重用它而不添加这些文件。我通常只是让人群选择他们自己的 IDE,而不是将这些文件包含在 repo 中,但这是您的选择。希望这会有所帮助,如果没有,也许可以阅读一些有关如何创建新的 eclipse 项目的信息?【参考方案2】:

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

    开发环境的实现可能需要激进 采用新工具时重新安装(如果您之后采用 GIT 已经有 SBT 你可能需要清空 SBT 的工作 作为 GIT 的目录要求克隆过程中有空房子 本地工作目录) 保持非常好的更新备份,尤其是在考虑 将任何这种“多米诺骨牌”环境层重新设置为一些 GUI 或命令发起的清理行动真正解决了这个问题 有时效果出人意料,而且完全不考虑 其他工具/图层要求 在关键阶段保留非常好的文档(包括以前的实用答案) 让事情成为现实(再次)

【讨论】:

以上是关于如何在 sbt、Eclipse 和 github 中初始化一个新的 Scala 项目的主要内容,如果未能解决你的问题,请参考以下文章

从 Eclipse 运行 SBT 任务

如何使用 Eclipse 调试由 sbt 驱动的测试?

如何使用 sbt-eclipse 创建项目的 Eclipse 项目文件?

如何让 Eclipse 识别来自 SBT 的依赖项

Sbt的使用初步和用sbt插件生成eclipse工程

使用 SBT 和 Scala IDE 添加和删除依赖项