在添加到SBT项目中的库时,可以解析IntelliJ中的jar库

时间:2014-06-22 13:58:55

标签: scala sbt

我想将Apache commons库添加到我的Scala项目中。在将其移至SBT之前,只需将其添加到我的InteliJ项目中的库或全局库设置即可。现在我已经转移到它不再解决,我得到错误。

如何在InteliJ中添加本地jar库作为SBT依赖?

2 个答案:

答案 0 :(得分:2)

您需要确保SBT能够找到该依赖项。按照here所述,将非托管依赖项添加到项目中的标准方法。引用该参考:

  

非托管依赖项

     

大多数人使用托管依赖项而不是非托管依赖项。但   开始时,非托管可以更简单。

     

非托管依赖项的工作原理如下:将jar添加到lib ,它们会   放在项目类路径上。其他不多了!

     

您可以放置​​测试罐,例如ScalaCheck,specs和ScalaTest   lib也是。

     

lib中的依赖关系遍历所有类路径(用于编译,测试,运行,   和控制台)。如果你想改变其中一个的类路径   那些,您可以在Compile中调整dependencyClasspath   例如,运行时中的dependencyClasspath。

     

没有什么可以添加到build.sbt 来使用非托管依赖项,   虽然你可以改变unmanagedBase键,如果你想使用   不同的目录而不是lib。

     

使用custom_lib而不是lib:

     

unmanagedBase:= baseDirectory.value /" custom_lib"

     

baseDirectory是项目的根目录,所以在这里你要改变   unmanagedBase取决于使用特殊值的baseDirectory   在更多种设置中解释的方法。

     

还有一个unmanagedJars任务列出了来自的jar   unmanagedBase目录。如果你想使用多个目录或   做一些复杂的事情,你可能需要更换整体   unmanagedJars任务与一个做其他事情的任务。

要测试它是否正常运行,只需在外部运行SBT(在cmd之外的IntelliJ之外)并执行updatecompile任务。如果您的库在代码中使用并且没有错误,那么SBT很高兴。之后只需使用"导入项目"在IntelliJ中选择"使用自动导入"其中一个向导步骤中的选项。

答案 1 :(得分:1)

将此添加到您的build.sbt:

libraryDependencies += "org.apache.commons" % "commons-math3" % "3.5"