【问题标题】:How do I add a jar to SBT's classpath?如何将 jar 添加到 SBT 的类路径?
【发布时间】:2016-11-04 23:55:10
【问题描述】:

我有一个 Java Play 项目,我将 Snake Yaml 添加到我的类路径中。

libraryDependencies ++= Seq("org.yaml" % "snakeyaml" % "1.16")

这很好用,我的应用可以导入org.yaml

但是,SBT 无法导入 org.yaml。由于某种原因,它无法访问libraryDependencies

如果我将import org.yaml.snakeyaml.Yaml 添加到project/commons.scala,当我使用activator compile 编译时会出错。

[error] <path to project>/project/commons.scala:2: object yaml is not a member of package org
[error] import org.yaml.snakeyaml.Yaml
[error]            ^
[error] one error found
[error] (compile:compileIncremental) Compilation failed

如何在 SBT 中访问 make jar?

【问题讨论】:

  • 您在添加 JAR 后是否reload

标签: scala playframework sbt typesafe-activator


【解决方案1】:

在项目的源代码中添加依赖X与在构建代码中添加依赖X不同(在build.sbtproject/*.scala等内部使用的依赖)

如果您正在尝试这样做,那么您需要在项目文件夹中添加库依赖项。

例如,只需在project/build.sbt 中添加libraryDependencies ++= Seq("org.yaml" % "snakeyaml" % "1.16")(与在普通./build.sbt 文件中添加相反)。

展示这个的最小项目

结构:

.
├── build.sbt
└── project
    └── build.sbt

build.sbt

import org.yaml.snakeyaml.Yaml

name := "hello"

project/build.sbt

libraryDependencies ++= Seq("org.yaml" % "snakeyaml" % "1.16")

【讨论】:

猜你喜欢
  • 2015-08-01
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 2015-03-02
  • 2012-04-22
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
相关资源
最近更新 更多