如何将Jar库添加到IntelliJ Idea SBT Scala项目中?

时间:2010-09-25 23:39:52

标签: scala intellij-idea sbt

我创建了一个像Heiko Seeberger's article描述的IntelliJ Idea SBT Scala项目。

我想在这个项目中添加一个Jar库(joda-time)。这该怎么做?简单地将它们放入项目的/ lib中也无济于事。如果我在Idea的项目树中右键单击“外部库”,“新建>”是灰色的。

7 个答案:

答案 0 :(得分:30)

在项目的IntelliJ Idea窗口中,转到File>>项目结构>>库。单击“库”选项后,将显示两个窗格。在最左侧窗格的顶部,单击绿色的“+”按钮。

答案 1 :(得分:11)

更好的方法是将非托管依赖项添加到build.sbt中,并避免将部分依赖项管理留给IDE。

有关如何定义unmanagedBase和unmanagedJars任务的详细信息,请参阅http://www.scala-sbt.org/release/docs/Library-Management.html

答案 2 :(得分:6)

在Intellij Idea中:

  • 文件>项目结构>库

在Netbeans中:

  • 文件>项目属性>库

在Eclipse中:

  • 右键单击项目>属性> Java构建路径>库

答案 3 :(得分:6)

只需在build.sbt

中声明
unmanagedJars in Compile += file(Path.userHome+"/Your-Jar-Path/Full-Jar-Name.jar")

并且必需的jar将出现在外部库> unmanaged-jars> Full-Jar-Name.jar中。如果修改了jar文件(在提供的路径中),这也会改变。

答案 4 :(得分:1)

对于多模块SBT项目(Intellij 2017.3.4,Scala 12.2.4,sbt 1.1.1),接受的解决方案仅在重新启动或项目刷新之前有效。的确,"项目设置 - >模块 - >依赖",然后" +"和#34; JAR或目录"发出警告"模块X从Sbt导入。重新导入"后,其配置中所做的任何更改都可能会丢失。

可能的解决方法
@zero的建议为我工作如下:

  1. 将JAR放入项目中 lib目录。
  2. build.sbt中,在lazy var baseSettings = Seq( ... )内添加该行   unmanagedJars in Compile += file("YourPath/ProjectBla/lib/controlsfx-8.40.14.jar")
  3. 还没有运气?在SBT工具窗口中,在 unmanagedBase 下的模块 sbt设置中, unmanagedSourceDirectories (等等)尝试调用pop- up命令"显示值"和"检查"几次。不知何故,它可能会奏效。

    从Eugene Yokota回答How can I add unmanaged JARs in sbt-assembly to the final fat JAR?另一个选项(我没有尝试)是为每个必需的模块添加一个单独的lib目录。

  4. 希望这些步骤可以解决问题或至少帮助调试。

答案 5 :(得分:0)

在项目根目录路径中创建一个lib目录,在其中粘贴您的JAR,运行sbt reload,关闭该项目,然后再次打开它。适用于IntelliJ 2018.2.4和SBT 1.0

答案 6 :(得分:0)

转到文件->项目结构->模块

在左窗格中选择模块,然后转到“依赖关系”标签

点击+添加JAR或目录

相关问题