2

我在系统上安装了一些 jar,我想将它们包含在我的 SBT 项目的类路径中。附加到 unmanagedClasspath 似乎是一种方式,但它拒绝任何带有斜杠的值——不知道为什么。

目前我有以下,它成功地将我的项目下的“lib”目录添加到类路径中:

import sbt._

class OvationImporterProject(info: ProjectInfo) extends DefaultProject(info)
{
  override def unmanagedClasspath: PathFinder =
  {
    super.unmanagedClasspath +++ "lib"
  }
}

如果我尝试在其中添加绝对路径,我会得到以下信息:

java.lang.IllegalArgumentException:要求失败:路径组件“/opt/jauimodel/lib/”中不能有正斜杠
    在 scala.Predef$.require(Predef.scala:112)
    在 sbt.Path$.checkComponent(Path.scala:176)
    在 sbt.RelativePath.(Path.scala:113)
    在 sbt.Path.$div(Path.scala:34)
    在 sbt.Project$class.path(Project.scala:143)
    在 sbt.BasicScalaProject.path(DefaultProject.scala:21)
    在 OvationImporterProject.unmanagedClasspath(OvationImporter.scala:7)
……

有没有合适的方法来做到这一点?

谢谢!

4

1 回答 1

3

试试 super.unmanagedClasspath +++ Path.fromFile("/opt/jauimodel/lib/")

只有“lib”可能会触发relativePath,这将触发checkComponent方法来检查是否.,

于 2010-11-18T01:38:31.373 回答