java.lang.NoSuchMethodError:com.google.gson.GsonBuilder.setLenient()Lcom / google / gson / GsonBuilder; 通过ChromeDriver启动Chrome时

Rom*_*kur 5 google-chrome selenium-chromedriver selenium-webdriver

嗨,我在启动驱动程序时遇到了这个问题。

Starting ChromeDriver 2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73) on port 4097
Only local connections are allowed.
Exception in thread "main" java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;
    at org.openqa.selenium.json.Json.<clinit>(Json.java:47)
    at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.constructMessage(HttpProfilerLogEntry.java:37)
    at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.<init>(HttpProfilerLogEntry.java:29)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at isf.Login.main(Login.java:21)
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我所缺少的..因为我在另一个项目中使用相同的库,并且在那儿工作正常。

jit*_*dar 5

我遇到了同样的问题并使用以下方法解决了:如果您在第 47 行检查 JSON 类,setLenient()则丢失。

此问题可能是由于 Gson 版本冲突所致。

转到您的存储库:

C:\Users\User_name\.m2\repository\com\google\code\gson

删除所有现有文件夹。

现在,在您的 pom 文件中添加以下 maven 依赖项:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

重新构建您的 pom.xml 文件并执行脚本。