Maven SBT依赖项工件?

Saw*_*yer 2 scala intellij-idea maven sbt

我同时使用Maven和SBT管理我的项目.原因是:

  1. Intellij IDEA无法导入SBT项目.(idea-sbt插件不能很好地工作)
  2. 我不知道如何从SBT获取源代码和javadoc.(我想看到有关此问题的任何答案)

问题是我不知道如何让Maven下载SBT依赖.我通过maven存储库搜索,找不到任何关于sbt的信息.我想使用Maven或SBT管理我项目中的所有罐子.

Vas*_*iuk 5

  • 如果将pom.xml放到项目的根目录中,它将被SBT识别.在项目定义中未指定托管依赖项时,SBT依赖于Maven依赖项.

    正如它在SBT中所说的那样,

执行更新操作时,sbt执行此依赖项处理.默认情况下,sbt不会在每次编译之前更新您的依赖项,但只有在执行update时才会这样做.sbt支持三种指定这些依赖关系的方法:

* Declarations in your project definition
* Maven POM files
* Ivy configuration and settings files
Run Code Online (Sandbox Code Playgroud)
  • 行家知道SBT没什么截至目前(至少我没有听说过任何插件到目前为止),所以,你能做的最好的管理你的项目无论是在Maven和SBT,为SBT产生多金属氧酸盐.有关详细信息,请参阅SBT to Maven Converter.


Jan*_*anx 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
Run Code Online (Sandbox Code Playgroud)

注意星号 - 它们应该包含在内.

此时,您可以在IDEA中打开您的项目.它不会抱怨SBT依赖.每次向项目文件中添加新的依赖项时,只需再次运行'idea'命令即可告诉IDEA.我在idea-sbt提供的SBT窗口中这样做.

至于获取具有依赖关系的源和文档,您可以执行类似的操作(来自SBT 文档):

val sc = "org.scalacheck" % "scalacheck" % "1.5" withSources()
Run Code Online (Sandbox Code Playgroud)

有一个对应的withJavadoc()方法.希望有所帮助.

  • 非常感谢withSources()提示. (3认同)