在sbt中查找另一个项目的类目录

在sbt中查找另一个项目的类目录,sbt,Sbt,我有一个类似这样的项目: 构建.sbt lazy val data = project in file("testData") lazy val foo = (project in file("foo")).dependsOn(data % "test->test") lazy val bar = (project in file("bar")).dependsOn(data % "test->test") 有些代码需要从文件中读取数据,而不是作为类路径上的资源。鉴于这些依赖关

我有一个类似这样的项目:

构建.sbt

lazy val data = project in file("testData")

lazy val foo = (project in file("foo")).dependsOn(data % "test->test")

lazy val bar = (project in file("bar")).dependsOn(data % "test->test")
有些代码需要从文件中读取数据,而不是作为类路径上的资源。鉴于这些依赖关系,数据jar不会自动更新,因此我需要复制数据的classes目录。使用
IO.copyDirectory
定义任务应该可以做到这一点,但我需要做一些类似
data.classesDirectory
的事情来知道从何处复制

我可以做
data.base+target/scala-2.12/classes
,但这会硬编码一些假设。2.12可以替换为
scalaBinaryVersion
,但仍有一些部分在硬代码看来很粗糙

data.settings
看起来像一个可能的候选项,但尝试使用它会给出一个不明确的方法警告:

error: ambiguous reference to overloaded definition,
both method settings in trait Project of type (ss: sbt.Def.SettingsDefinition*)sbt.Project
and  method settings in trait ProjectDefinition of type => Seq[sbt.Def.Setting[_]]
match expected type Any
        println("settings: " + data.settings)
                                         ^
data.configurations
看起来也可能有用,但它是一个空列表

如何以编程方式执行与“显示数据/类目录”等价的操作