项目间依赖性导致包错误

时间:2016-08-09 16:47:29

标签: scala sbt

所以我试图将一个项目分成两个不同的子项目以减少编译时间,我遇到了一些问题。

所以在我的主要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

在设置包依赖项之间是否存在我不理解的内容?

1 个答案:

答案 0 :(得分:0)

最初我虽然你错过了依赖dependsOn(ProjectLib % "test->test")的范围,但你所做的只是我的设置:

https://github.com/kpbochenek/scala-playground

sub1和sub2反映您的子项目,请检查SparkTestReport