簡體   English   中英

"java.lang.NoClassDefFoundError: com\/google\/common\/collect\/ImmutableMap 在 Java Selenium 中使用帶有 Maven 依賴關系的 WebDriver"

[英]java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap while using WebDriver with Maven Dependencies in Java Selenium

  1. 它是driver=new ChromeDriver();之后的代碼部分它給了我錯誤,我用 sysout 檢查,錯誤在 2 中,我對使用 Maven 的經驗不是很好,但我正在檢查我的pom.xml文件,我給了 Selenium 依賴項。

- 任何建議?,任何幫助表示贊賞

public WebDriver initilizeDriver() throws IOException
{
    Properties prop= new Properties();
    FileInputStream fıs=new FileInputStream("C:\\Users\\Melih Sancak\\my-amazonTest\\src\\main\\java\\com\\ObjectRepisotary\\app\\data.properties");
    prop.load(fıs);
    String browserName =prop.getProperty("browser");
    System.out.println(browserName);
    if(browserName.equals("chrome"))
    {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\Melih Sancak\\Downloads\\chromedriver.exe");
        driver=new ChromeDriver();
    }
}

2.錯誤:

java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
    at org.openqa.selenium.remote.service.DriverService$Builder.<init>(DriverService.java:253)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.<init>(ChromeDriverService.java:94)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)

com/google/common/collect/ImmutableMap可能已損壞:

部署Maven項目會引發java.util.zip.ZipException:無效的LOC標頭(錯誤的簽名)

如果您使用的是eclipse,並且想要檢查此文件是否已損壞,請嘗試將其打開。 它位於番石榴Maven依賴項中。 如果已損壞,它將顯示invalid LOC header (bad signature)

然后找到.m2文件夾,找到損壞的文件並將其刪除。 最后運行一個Maven更新。

那為我解決了問題。

這個問題的原因是guava library

通過在 maven pom.xml 中添加 guava 庫解決了這個問題

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>31.0.1-jre</version>
    </dependency>

我的一個朋友也遇到了這個問題,並且添加了這個庫來解決這個問題,因為ImmutableMap方法來自番石榴

也粘貼錯誤消息,這樣人們就會在這里登陸,因為很多人都會遇到同樣的問題

java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap;

at org.openqa.selenium.chrome.AddHasCasting.getAdditionalCommands(AddHasCasting.java:38)
at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.getExtraCommands(ChromeDriver.java:123)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM