我同时使用Maven和SBT管理我的项目。原因如下:
问题是我不知道如何让Maven下载SBT依赖。我通过maven存储库搜索,找不到任何关于sbt的信息。我想使用Maven或SBT管理我项目中的所有罐子。
答案 0 :(得分:5)
如果您将pom.xml放到项目的根目录中,它将被SBT识别。当您在项目定义中未指定托管依赖项时,SBT依赖于Maven依赖项。
如SBT doumentation中所说,
sbt执行此依赖项处理 何时执行更新操作。通过 默认情况下,sbt不会更新你的 每次编译之前的依赖关系, 但只有在执行时才这样做 更新。 sbt支持三种方式 指定这些依赖项:
* Declarations in your project definition * Maven POM files * Ivy configuration and settings files
答案 1 :(得分:5)
idea-sbt插件对我来说非常适合使用IDEA 10 - 所有它真正打算在IDE中打开一个SBT shell并且它做得很好。
如果你有兴趣从你的构建中获取Maven,那么你应该研究一个插件是sbt-idea插件(https://github.com/mpeltonen/sbt-idea)。这是一个很棒的插件,可以从SBT项目生成IDEA文件。它使用起来并不容易。在SBT提示符下,运行以下命令:
*sbtIdeaRepo at http://mpeltonen.github.com/maven/
*idea is com.github.mpeltonen sbt-idea-processor 0.3.0
update
idea
注意星号 - 它们应该包括在内。
此时,您可以在IDEA中打开您的项目。它不会抱怨SBT依赖。每次向项目文件中添加新的依赖项时,只需再次运行'idea'命令即可告诉IDEA。我在idea-sbt提供的SBT窗口中这样做。
至于获取具有依赖关系的源和文档,您可以执行类似的操作(来自SBT docs):
val sc = "org.scalacheck" % "scalacheck" % "1.5" withSources()
有一个相应的withJavadoc()方法。希望有所帮助。