sbteclipse:创建 build.sbt 和 plugins.sbt

Posted

技术标签:

【中文标题】sbteclipse:创建 build.sbt 和 plugins.sbt【英文标题】:sbteclipse: create build.sbt and plugins.sbt 【发布时间】:2018-08-05 22:54:35 【问题描述】:

我已经下载了 sbt 并解决了代理 maven 存储库错误,我使用 my-maven-proxy-releases 创建了存储库文件:在 ~/.sbt 下

当我做 sbt about 时,我会得到以下详细信息:

"~\.sbt\preloaded\org.scala-sbt\sbt\"1.0.4"\jars\sbt.jar"
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[warn] No sbt.version set in project/build.properties, base directory: C:\
[info] Set current project to root (in build file:/C:/)
[info] This is sbt 1.0.4
[info] The current project is file:/C:/root 0.1-SNAPSHOT
[info] The current project is built against Scala 2.12.4
[info] Available Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin, sbt.plugins.Giter8TemplatePlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.12.4   

现在,我想在 Eclipse 中导入一个项目,然后用 Google 搜索。这是我找到的细节。

1. ~/.sbt/<sbt-version>/plugins/plugins.sbt
   addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.2.4")
  sbteclipse 

2. ~/.sbt/<sbt-version>/plugins/build.sbt
   for scala versions and dependencies.

但我对在哪里创建 build.sbt 和 plugins.sbt 感到困惑,因为我的文件夹结构是这样的:

~/.sbt/1.0
~/.sbt/1.3

我没有看到在 sbt about 中显示的 ~/.sbt/1.0.4。

如果我的理解有误,请指导。

【问题讨论】:

【参考方案1】:

首先要了解sbtproject structure以及project-local和global plugins的区别。

因为你通常会全局使用 eclipse 插件,你应该把它放在

~/.sbt/<sbt-version>/plugins/plugins.sbt

(正如你写的那样),&lt;sbt-version&gt;

0.13 用于任何 sbt 0.13.* 1.0 用于任何 sbt 1.*.*(这可能看起来 unintuitive,但没关系)

我猜,~/.sbt/1.3 只是一个错字,应该是~/.sbt/0.13

此外,您通常不会在 ~/.sbt/&lt;sbt-version&gt;/plugins/build.sbt 中添加任何内容。如果你需要一些全局设置(包括全局插件的设置),你应该把它们放在

~/.sbt/<sbt-version>/global.sbt

阅读全局设置here。


对于非全局插件和设置,减去~/.sbt/&lt;sbt-version&gt;/ 部分后,它都是一样的:

对插件使用&lt;your-project&gt;/plugins/plugins.sbt&lt;your-project&gt;/build.sbt 用于项目设置

【讨论】:

以上是关于sbteclipse:创建 build.sbt 和 plugins.sbt的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ 在创建 Scala 项目后在 build.sbt 中给出“无法解析符号”的错误

在 build.sbt 和 project/plugins.sbt 中避免冗余/重用 ModuleID?

sbt.build 用于多个项目和 playframework

sbteclipse:eclipse 找不到托管依赖项

sbt 原生打包器 dockerCommands 复制

sbt.build 文件的导入未找到错误