You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gatling无法访问Maven Central报错,如何禁用版本检查?

问题:Gatling无法访问Maven Central导致TLS错误,需禁用版本检查

我们有一个Scala项目,已集成Gatling进行性能测试,运行仿真时出现如下TLS错误:

org.bouncycastle.tls.TlsFatalAlert: unexpected_message(10); Unsupported UNKNOWN(72)
    at org.bouncycastle.tls.RecordStream.checkRecordType(RecordStream.java:411)
    at org.bouncycastle.tls.RecordStream.readRecord(RecordStream.java:219)
    at org.bouncycastle.tls.TlsProtocol.safeReadRecord(TlsProtocol.java:875)
    at org.bouncycastle.tls.TlsProtocol.blockForHandshake(TlsProtocol.java:422)
    at org.bouncycastle.tls.TlsClientProtocol.connect(TlsClientProtocol.java:88)
    at org.bouncycastle.jsse.provider.ProvSSLSocketDirect.startHandshake(ProvSSLSocketDirect.java:445)
    at org.bouncycastle.jsse.provider.ProvSSLSocketDirect.startHandshake(ProvSSLSocketDirect.java:426)
    at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
    at io.gatling.commons.util.LatestGatlingRelease$.$anonfun$fetchLatestReleaseFromMavenCentral$1(GatlingVersion.scala:121)
    at scala.util.Try$.apply(Try.scala:210)
    at io.gatling.commons.util.LatestGatlingRelease$.fetchLatestReleaseFromMavenCentral(GatlingVersion.scala:109)
    at io.gatling.commons.util.LatestGatlingRelease$.load(GatlingVersion.scala:161)
    at io.gatling.commons.util.GatlingVersion$.LatestRelease$lzycompute(GatlingVersion.scala:42)
    at io.gatling.commons.util.GatlingVersion$.LatestRelease(GatlingVersion.scala:42)
    at io.gatling.app.Runner.displayVersionWarning(Runner.scala:110)
    at io.gatling.app.Runner.run(Runner.scala:48)
    at io.gatling.app.Gatling$.start(Gatling.scala:89)
    at io.gatling.app.Gatling$.fromMap(Gatling.scala:43)
    at com.concur.ngao.stresstest.StressTestApp$.delayedEndpoint$com$concur$ngao$stresstest$StressTestApp$1(StressTestApp.scala:23)
    at com.concur.ngao.stresstest.StressTestApp$delayedInit$body.apply(StressTestApp.scala:8)
    at scala.Function0.apply$mcV$sp(Function0.scala:39)
    at scala.Function0.apply$mcV$sp$(Function0.scala:39)
    at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
    at scala.App.$anonfun$main$1(App.scala:73)
    at scala.App.$anonfun$main$1$adapted(App.scala:73)
    at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:553)
    at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:551)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:921)
    at scala.App.main(App.scala:73)
    at scala.App.main$(App.scala:71)
    at com.concur.ngao.stresstest.StressTestApp$.main(StressTestApp.scala:8)
    at com.concur.ngao.stresstest.StressTestApp.main(StressTestApp.scala)

由于项目环境无法访问Maven Central,希望禁用Gatling运行时自动检查最新版本的功能,当前使用Gatling 3.9.3、Scala 2.13.1,求具体操作指引。


解决方案

针对Gatling 3.9.3版本,有三种方式可以禁用版本检查:

1. 通过JVM系统属性配置

在启动测试时添加系统参数:

-Dgatling.disableVersionCheck=true

如果用sbt运行,可在命令行执行:

sbt -Dgatling.disableVersionCheck=true gatling:test

也可以在build.sbt中全局配置:

javaOptions in Gatling += "-Dgatling.disableVersionCheck=true"

2. 通过Gatling配置文件设置

在项目src/test/resources/下新建或修改gatling.conf,添加以下内容:

gatling {
  core {
    disableVersionCheck = true
  }
}

3. 在自定义启动代码中设置

如果项目用自定义类启动Gatling(如示例中的StressTestApp),可在启动前设置系统属性:

import io.gatling.app.Gatling

object StressTestApp extends App {
  System.setProperty("gatling.disableVersionCheck", "true")
  Gatling.fromMap(Map("simulationClass" -> "your.simulation.class.path"))
}

内容的提问来源于stack exchange,提问作者Mans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 19:22:38