java.lang.NoSuchMethodError:com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder; [英] java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;
问题描述
当我尝试在3.11中创建RemoteWebDriver时,在下面看到此错误.直到3.10为止,它的效果都很好.我现在已经恢复到3.10.
When I try to create a RemoteWebDriver in 3.11, I see this error below. This worked fine up through 3.10. I've reverted to 3.10 for now.
我尝试从Google添加gson jar,但仍然看到相同的错误.还有其他人看到吗?我正在将一台硒服务器作为集线器,然后运行同样的问题,使用ff或chrome的webdriver阻止了该节点.
I tried adding in the gson jar from google, but I still see same error. Anyone else see this? I'm running one selenium server as hub, and then running a node against it with webdriver for ff or chrome, same issue.
com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;
java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;
at org.openqa.selenium.json.Json.(Json.java:47)
at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.constructMessage(HttpProfilerLogEntry.java:37)
at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.(HttpProfilerLogEntry.java:29)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:135)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:209)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:132)
at oracle.ojet.automation.test.selenium.WebDriverManager._buildRemoteWebDriver(WebDriverManager.java:573)
推荐答案
此错误消息...
java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;
...表示 JVM 无法找到方法 setLenient()Lcom/google/gson/GsonBuilder
.
...implies that the JVM was unable to find the method setLenient()Lcom/google/gson/GsonBuilder
.
发行说明明确提到:
- 迁移Selenium Grid可以减少GSON和Apache HttpClient向公共API的导出.
Selenium v3.12.0 的发行说明还明确提到:
- 从如何将JSON强制转换为Java类型中删除GSON.
- 清理Selenium的JSON处理内部,包括弃用GSON从我们的API泄漏的地方.
最后, Selenium v3.13.0 的发行说明明确提到:
- 介绍了我们自己的JSON解析器和输出器,允许将GSON从我们的依赖项中删除.
解决方案
要摆脱警告和错误,请升级到 Selenium v3.14.0 ,其中 Release Notes 明确提到:
Solution
To get rid of the warning and errors upgrade to Selenium v3.14.0, where Release Notes clearly mentions:
- 完全删除了GSON依赖项.现在,我们使用反射来尝试找到该类.
这篇关于java.lang.NoSuchMethodError:com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!