如何将 jar 添加到 SBT 的类路径?
How do I add a jar to SBT's classpath?
我的 class 路径有 Java Play project and I added 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?
在项目的源代码中添加依赖项 X 与在构建代码中添加依赖项 X 不同(在 build.sbt
、project/*.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")
我的 class 路径有 Java Play project and I added 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?
在项目的源代码中添加依赖项 X 与在构建代码中添加依赖项 X 不同(在 build.sbt
、project/*.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")