如何使用现有的Intellij项目作为我推进SBT的进展?

时间:2014-01-26 19:31:58

标签: scala intellij-idea sbt

新手SBT问题 - 现在我已经开始使用一些基本的SBT教程了,我想更频繁地开始使用SBT构建文件(在Intellij中)。但是,这有几个问题:

1)我目前发布到jar的现有项目,后来导入到其他项目中...如何将此jar文件发布到本地存储库? SBT发布 - 本地似乎不适合我的情况,因为该项目是在Intellij中制作的,而不是(尚未)SBT项目。

2)假设我确实将项目转换为SBT构建设置(然后将其导入Intellij)。每次构建项目时,如何将Intellij配置为发布本地(更新)?在新的Intellij SBT支持中,我没有看到围绕SBT的许多可配置设置。

使用Intellij 13和SBT 0.13.1

谢谢!

2 个答案:

答案 0 :(得分:2)

让您快速启动使用SBT驱动Idea,看看我的模板项目skeleton

它支持您想要做的大部分基本任务。

要发布到您的存储库,请使用publish任务。

希望有所帮助!

答案 1 :(得分:1)

对于发布,您只需使用publish action

要指定存储库,请将存储库分配给publishTo,并可选择设置发布样式。例如,要上传到Nexus:

publishTo := Some("Sonatype Snapshots Nexus" at "https://oss.sonatype.org/content/repositories/snapshots")

至于你的第二个问题,尽管是JetBrains的粉丝,我发现SBT整合非常令人失望。首先,正如JetBrains文档所述,您需要两个插件:their pluginsbt-idea。您使用 sbt-idea 将IDEA模块结构与SBT构建同步,并使用JetBrains的 idea-sbt-plugin 在“Before Launch”中执行SBT任务运行配置中的操作。

听起来你想在每个版本上进行“安装”,因此“启动之前”动作支持无用。我建议编写自己的自定义SBT任务,以便在构建时安装,并使用Command Line Tools Console通过SBT执行该任务,就像从命令行执行一样。我知道;间接是令人讨厌的。

请记住一件事。我发现了 idea-sbt-plugin 的大量错误。至少在Mac上。 JetBrains告诉我下一个版本会好得多,你可以用下一个EAP版本自己看看。

我当然欢迎那些能够取得比我更多成功的人。