我创建了一个IntelliJ Idea SBT Scala项目,如Heiko Seeberger's article所述。
我想添加一个Jar库(joda-time)在这个项目中使用。怎么办?简单地将它们放入项目的/lib中并没有帮助。如果我右键单击Idea项目树中的“External libraries”,“New >”将显示为灰色。
我创建了一个IntelliJ Idea SBT Scala项目,如Heiko Seeberger's article所述。
我想添加一个Jar库(joda-time)在这个项目中使用。怎么办?简单地将它们放入项目的/lib中并没有帮助。如果我右键单击Idea项目树中的“External libraries”,“New >”将显示为灰色。
9条答案
按热度按时间emeijp431#
在项目的IntelliJ Idea窗口中,进入File >> Project structure >> Libraries。单击“库”选项后,将显示两个窗格。在最左侧窗格的顶部,单击绿色的“+”按钮。
hgqdbh6s2#
更好的方法是将非托管依赖项添加到build.sbt中,避免将依赖项管理的一部分留给IDE。
有关如何定义unmanagedBase和unmanagedJars任务的详细信息,请参阅http://www.scala-sbt.org/release/docs/Library-Management.html。
w1e3prcc3#
在build.sbt中声明
字符串
需要的jar将出现在External Library>unmanaged-jars>Full-Jar-Name.jar中。如果jar文件(在提供的路径中)被修改,这也会改变。
yhqotfr84#
在Intellij Idea中:
在Netbeans中:
在Eclipse中:
olqngx595#
对于多模块SBT项目(Intellij 2017.3.4,Scala 12.2.4,sbt 1.1.1),接受的解决方案仅在重新启动或项目刷新之前有效。事实上,“项目设置->模块->依赖项”,然后“+”和“JAR或目录”给出警告“模块X是从Sbt导入的。在重新导入“”后,在其配置中所做的任何更改都可能丢失。
可能的解决方法:
@zero的建议对我的作用如下:
1.将JAR放入项目的
lib
目录。1.在
build.sbt
中,在lazy var baseSettings = Seq( ... )
中添加行unmanagedJars in Compile += file("YourPath/ProjectBla/lib/controlsfx-8.40.14.jar")
。1.还是没找到吗在SBT工具窗口中,在模块的 sbt settings 下的 unmanagedBase、unmanagedSourceDirectories(等)中,尝试调用弹出命令“Show value”和“Inspect”几次。不管怎样,它可能会工作。
根据尤金对How can I add unmanaged JARs in sbt-assembly to the final fat JAR?的回答,另一种选择(我没有尝试)是将单独的
lib
目录添加到每个所需的模块。希望这些步骤能够解决问题,或者至少有助于调试。
k5hmc34c6#
在项目根路径中创建一个lib目录,将JAR文件粘贴到其中,运行sbt reload,关闭项目并再次打开。适用于IntelliJ 2018.2.4和SBT 1.0
xdyibdwo7#
转到文件->项目结构->模块
在左窗格中选择模块,然后转到“Dependencies”选项卡
单击+添加JAR或目录
myzjeezk8#
我们可以做的一种方法是在Intellij中显式添加jar,但这种方法的问题是每次我们构建项目时都需要再次添加它。
第一种方法是:
在Intellij Idea中:
文件>项目结构>库
另一种方法是在本地发布jar
字符串
build.sbt看起来像这样:
型
6psbrbz99#
将jar文件添加到lib目录后,在
build.sbt
中添加这一行exportJars := true
个