所以我试图将一个项目分成两个不同的子项目以减少编译时间,我遇到了一些问题。
所以在我的主要build.sbt中看起来像这样:
lazy val Root = project.in(file("."))
.aggregate(ProjectLib, DataQualityReport)
lazy val ProjectLib = project
.settings(Common.buildSettings: _*)
.settings(Common.assemblySettings: _*)
lazy val DataQualityReport = project
.settings(Common.buildSettings: _*)
.settings(Common.assemblySettings: _*)
.dependsOn(ProjectLib)
现在,当我尝试在dataquality报告中使用project-lib中的测试类时,问题就出现了。请注意,com.project.data_quality
是我本地项目中的一个包,而com.project.util
位于ProjectLib中。
package com.project.data_quality
import com.project.util.SparkTestSuite
class DataQualityValidatorTest extends SparkTestSuite{
虽然这段代码在intellij中看起来很好但是当我尝试运行测试时会出现错误
HBRoot/DataQualityReport/src/test/scala/com/origami/data_quality/DataQualityValidatorTest.scala:5:
object SparkTestSuite is not a member of package com.project.util
在设置包依赖项之间是否存在我不理解的内容?
答案 0 :(得分:0)
最初我虽然你错过了依赖dependsOn(ProjectLib % "test->test")
的范围,但你所做的只是我的设置:
https://github.com/kpbochenek/scala-playground
sub1和sub2反映您的子项目,请检查SparkTestReport