【问题标题】:SBT, how to add unmanaged JARs to IntelliJ?SBT,如何将非托管 JAR 添加到 IntelliJ?
【发布时间】:2018-05-03 13:06:00
【问题描述】:

我有 build.sbt 文件:

import sbt.Keys.libraryDependencies

lazy val scalatestVersion = "3.0.4"
lazy val scalaMockTestSupportVersion = "3.6.0"
lazy val typeSafeConfVersion = "1.3.2"
lazy val scalaLoggingVersion = "3.7.2"
lazy val logbackClassicVersion = "1.2.3"

lazy val commonSettings = Seq(
  organization := "com.stulsoft",
  version := "0.0.1",
  scalaVersion := "2.12.4",
  scalacOptions ++= Seq(
    "-feature",
    "-language:implicitConversions",
    "-language:postfixOps"),
  libraryDependencies ++= Seq(
    "com.typesafe.scala-logging" %% "scala-logging" % scalaLoggingVersion,
    "ch.qos.logback" % "logback-classic" % logbackClassicVersion,
    "com.typesafe" % "config" % typeSafeConfVersion,
    "org.scalatest" %% "scalatest" % scalatestVersion % "test",
    "org.scalamock" %% "scalamock-scalatest-support" % scalaMockTestSupportVersion % "test"
  )
)

unmanagedJars in Compile += file("lib/opencv-331.jar")

lazy val pimage = project.in(file("."))
  .settings(commonSettings)
  .settings(
    name := "pimage"
  )

parallelExecution in Test := true

如果我使用 sbt run,它工作正常,但我无法从 IntelliJ 运行。

我收到错误:

java.lang.UnsatisfiedLinkError:java.library.path 中没有 opencv_java331

我可以手动添加(文件->项目结构->库->+必要的目录)。 我的问题是:是否可以指定 build.sbt 自动创建带有指定库的 IntelliJ 项目?

【问题讨论】:

    标签: scala intellij-idea jar sbt unmanaged


    【解决方案1】:

    我会说尝试:将依赖项拖放到项目根目录中的 /lib 中,如果不存在,请创建它。

    运行命令: sbt 重载 sbt更新

    最后,您可以尝试以下方法: 文件 -> 项目结构 -> 模块 -> 然后标记所有模块,通常为 1 到 3,删除它们(不要担心不会删除您的文件) -> 点击绿色加号并选择导入模块 -> 选择根目录你的项目,然后它应该刷新它

    如果这些都没有帮助,我就没有想法了。

    【讨论】:

    • 谢谢@Tadas V 正如我之前提到的,我可以手动完成((文件->项目结构->库->+必要的目录)。但这意味着每个使用我的sbt项目的人都会必须做同样的事情 - 手动设置。我正在寻找一种方法来自动完成,只需从 build.sbt 文件中。
    • 没问题的朋友。尽管如果您要将依赖项添加到 /lib 中,然后将其添加到 VCS(无论是 github 还是 bitbucket 或其他),您应该能够提交推送它,然后克隆您的项目的人会得到它也与项目有关。尽管您需要检查将其添加到 /lib 是否允许您按预期使用依赖项。在你将它添加到 /lib 之后,它应该可以在项目中使用而无需任何进一步的配置,除非依赖项本身需要它。
    • 什么@TadasV。说作为第一个选项加上关闭和打开项目效果很好。
    猜你喜欢
    • 2015-05-26
    • 2013-09-15
    • 1970-01-01
    • 2014-08-27
    • 2021-07-11
    • 1970-01-01
    • 2011-04-17
    • 2015-02-22
    • 2018-03-19
    相关资源
    最近更新 更多