[英]java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap error using GeckoDriver Firefox through Selenium in Java
[英]java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap while using WebDriver with Maven Dependencies in Java Selenium
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.