如何在 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 项目的主要内容,如果未能解决你的问题,请参考以下文章