【问题标题】:Uncaught exception when running tests: java.lang.NoClassDefFoundError: scala/collection/mutable/ArrayOps$ofRef运行测试时未捕获的异常:java.lang.NoClassDefFoundError: scala/collection/mutable/ArrayOps$ofRef
【发布时间】:2020-01-02 12:27:48
【问题描述】:

我有一个使用 Intellij Idea scala sbt 的项目设置。

sbtVersion = 1.2.8,scalaVersion = 2.13.0

我正在尝试设置 gatling,但运行命令后出现以下错误:

gatling: test

[错误] 运行测试时未捕获的异常: java.lang.NoClassDefFoundError: scala/collection/mutable/ArrayOps$ofRef [错误] sbt.ForkMain$ForkError: java.lang.NoClassDefFoundError: scala/collection/mutable/ArrayOps$ofRef [error] at io.gatling.sbt.GatlingRunner.tasks(GatlingRunner.scala:31) [错误] 在 sbt.ForkMain$Run.runTests(ForkMain.java:258) [错误] 在 sbt.ForkMain$Run.run(ForkMain.java:144) [错误] 在 sbt.ForkMain$Run.access$100(ForkMain.java:140) [错误] 在 sbt.ForkMain.main(ForkMain.java:126) [错误] 原因: sbt.ForkMain$ForkError: java.lang.ClassNotFoundException: scala.collection.mutable.ArrayOps$ofRef [错误] 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) [错误] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) [错误] 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) [错误] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) [错误] 在 io.gatling.sbt.GatlingRunner.tasks(GatlingRunner.scala:31) [错误] 在 sbt.ForkMain$Run.runTests(ForkMain.java:258) [错误] 在 sbt.ForkMain$Run.run(ForkMain.java:144) [错误] 在 sbt.ForkMain$Run.access$100(ForkMain.java:140) [错误] 在 sbt.ForkMain.main(ForkMain.java:126) [info] 模拟执行 结束了。 [错误] 测试期间出错:[错误] 分叉的测试工具 失败:java.io.EOFException [错误] 在 java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2958) [错误] 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1538) [错误] 在 java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) [错误] 在 sbt.React.react(ForkTests.scala:177) [错误] 在 sbt.ForkTests$Acceptor$2$.run(ForkTests.scala:108) [错误] 在 java.lang.Thread.run(Thread.java:748) [错误](加特林/测试) sbt.TestsFailedException: 测试不成功 [错误] 总时间: 6 s, 已于 2019 年 8 月 29 日 09:53:58 完成

build.sbt

enablePlugins(GatlingPlugin)

name := "performance-test"

version := "0.1"

scalaVersion := "2.13.0"

scalacOptions := Seq(
  "-encoding", "UTF-8", "-target:jvm-1.8", "-deprecation",
  "-feature", "-unchecked", "-language:implicitConversions", "-language:postfixOps")

libraryDependencies += "io.gatling.highcharts" % "gatling-charts-highcharts" % "3.2.1" % "test,it"
libraryDependencies += "io.gatling"            % "gatling-test-framework"    % "3.2.1" % "test,it"

plugins.sbt

addSbtPlugin("io.gatling" % "gatling-sbt" % "3.0.0")

BasicSimulation.scala

package idcheck

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._

class BasicSimulation extends Simulation {

  val httpProtocol = http
    .baseUrl("https://google.com")

  val base = scenario("Test")
    .exec(http("base endpoint")
      .get("/"))

  setUp(base.inject(atOnceUsers(1)).protocols(httpProtocol))

}

【问题讨论】:

  • 看起来问题可能与 scala 2.13 版有关,我已降级为 scalaVersion := "2.12.9" realod 并且可以正常工作

标签: scala sbt gatling


【解决方案1】:

是的,这个错误来自 scala 2.13.x,降级到 2.12.11 :(

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 2017-02-25
    • 2020-05-13
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多