我一直在運行 gatling 性能測驗,并注意到我們的一個 API 在HttpProtocolBuilder階段拋出以下錯誤:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:64)
Caused by: java.lang.NoSuchFieldError: DNT
at io.gatling.http.HeaderNames$.<clinit>(Headers.scala:44)
at io.gatling.http.HttpDsl.$init$(HttpDsl.scala:52)
at io.gatling.http.Predef$.<clinit>(Predef.scala:19)
我懷疑這是由于依賴版本不匹配,果然我注意到作業 API 正在使用這個 netty 版本
[INFO] | | - io.gatling:gatling-http:jar:3.7.6:test
[INFO] | | | \- io.gatling:gatling-http-client:jar:3.7.6:test
[INFO] | | | - io.netty:netty-handler-proxy:jar:4.1.65.Final:test
[INFO] | | | | \- io.netty:netty-codec-socks:jar:4.1.65.Final:test
[INFO] | | | - io.netty:netty-resolver-dns:jar:4.1.65.Final:test
[INFO] | | | | \- io.netty:netty-codec-dns:jar:4.1.65.Final:test
[INFO] | | | - io.netty:netty-codec-http2:jar:4.1.65.Final:test
[INFO] | | | - io.netty:netty-tcnative-boringssl-static:jar:2.0.39.Final:test
而失敗的人正在使用
[INFO] | | - io.gatling:gatling-http:jar:3.7.6:test
[INFO] | | | \- io.gatling:gatling-http-client:jar:3.7.6:test
[INFO] | | | - io.netty:netty-handler-proxy:jar:4.1.31.Final:test
[INFO] | | | | \- io.netty:netty-codec-socks:jar:4.1.31.Final:test
[INFO] | | | - io.netty:netty-resolver-dns:jar:4.1.31.Final:test
[INFO] | | | | \- io.netty:netty-codec-dns:jar:4.1.31.Final:test
[INFO] | | | - io.netty:netty-codec-http2:jar:4.1.31.Final:test
[INFO] | | | - io.netty:netty-tcnative-boringssl-static:jar:2.0.20.Final:test
有誰知道為什么當 API 來自完全相同的 gatling 庫時,它們可能使用不同的 netty 版本?以及如何潛在地解決它?
由于它是一個作業專案,因此無法分享更多資訊。
干杯,克里斯
uj5u.com熱心網友回復:
有誰知道為什么當 API 來自完全相同的 gatling 庫時,它們可能使用不同的 netty 版本?
不知道你在這里是什么意思。
My2cents:Gatling 不是您專案中唯一一個拉網的庫。其他一些庫,或一些依賴管理塊,強制降級到一個非常舊的版本(4.1.31 是 4 年前發布的)。
不要降級,而是升級。如果您有一個從 4 年前提取依賴項的庫,那么它很有可能也已經過時了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/526711.html
標籤:斯卡拉行家网状加特林
