如何在 sbt、Eclipse 和 github 中初始化一个新的 Scala 项目,让它们一起玩……
2 回答
一个新的 Scala 项目通常需要为 sbt、eclipse(如果您选择)和 github 设置,以便它们一起工作。在此设置上投入一些时间后,只要没有更简单的方法可用,拥有此列表以对齐这 3 个工具/服务可能会有所帮助。对我有用的一系列步骤如下。它假设您在 eclipse 中安装了 Scala IDE 插件。
- 在 Github 中创建一个新的仓库。
- 确定新项目的目录位置
- 在 Eclipse 中,使用 Git Repositories View 将 Github 存储库导入该位置。或者,您可以为此使用命令行 git。
- 找到您为项目选择的同一位置并运行
sbt eclipse
. 这确保 eclipse 能够处理 sbt 项目结构,以便您的项目可以由 sbt 构建,同时也可以被 eclipse 理解。如果sbt eclipse
不起作用,sbt eclipse 插件可能没有安装在 sbt - 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 等可能会使它过时。如果这在您的环境中是完全错误的,您可以添加一个更好的答案。
以前的答案和问题一样重要,因为这些工具不是自我解释的。根据对这一挑战的个人经验,这似乎是不可能的,但当人们承认几个关键的保险政策参考点时,事情将成为现实:
- 由于采用了新工具,开发环境的实现可能需要彻底重新安装(如果您在已经安装 SBT 后采用 GIT,您可能需要清空 SBT 的工作目录,因为 GIT 要求克隆过程在本地工作目录上有空房子)
- 保持非常好的更新备份,尤其是在考虑重新设置任何这种“多米诺骨牌”环境层时,因为某些 GUI 或命令启动的清理操作确实会处理这一点,有时效果令人惊讶,而且不考虑其他工具/层的要求
- 在关键阶段保留非常好的文档(包括以前的务实答案)以使事情成为现实(再次)