Gatling Gradle 插件不包括传递依赖项

时间:2021-01-30 00:31:53

标签: gradle build.gradle gatling scala-gatling gatling-plugin

我在我的 Scala 项目中使用了 official Gatling Gradle plugin,我看到了一个问题,其中包含的依赖项如

dependencies {
    gatling "LibraryA"
}

不包括传递依赖。也就是说,我有一个 Gatling 模拟类,它扩展了 LibraryB 所依赖的 LibraryA 类。但是,当我尝试运行模拟时,出现类似

的错误
Symbol 'type ClassFromTheTransitiveDependency' is missing from the classpath.

当我查看 Gradle 依赖项时,我将 LibraryB 视为 LibraryA 的依赖项。我的 IDE (IntelliJ) 在点击代码时也能识别它。

我尝试在 single page of documentation for the plugin 中进行搜索,但没有看到任何有用的信息。这是不支持还是我遗漏了什么?

提前致谢,如果这很简单,请原谅我的 Gradle/构建平庸!

1 个答案:

答案 0 :(得分:1)

您的帖子非常不完整,因为无法根据您提供的信息进行调查和帮助您。 通常,您应该提供重现问题的方法,请参阅 http://sscce.org

这是我所做的:

  1. 克隆official demo project
  2. 添加了对 OkHttp 的依赖(传递依赖于 okio 和 kotlin)
  3. 在示例模拟中添加了使用 OkHttp 的代码
  4. 跑了./gradlew gatlingRun
dependencies {
    gatling 'com.squareup.okhttp3:okhttp:4.9.0'
}
  import okhttp3._
  val client = new OkHttpClient()
  val request = new Request.Builder().url("https://gatling.io").build
  println(client.newCall(request).execute().body.string())

一切正常,所以问题很可能在你这边,而不是 gatling-gradle-plugin。我建议从官方样本开始,一个一个地添加,直到你弄清楚哪一个坏了。