java.lang.NoClassDefFoundError: com/google/common/collect/Im


  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)

这个问题的原因是番石榴库

这个问题通过在maven pom中添加番石榴库得到了解决.xml

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

我的一个朋友也遇到了这个问题,添加这个库可以解决这个问题,因为该方法不可变地图来自番石榴

粘贴错误消息,以便人们将降落在这里,因为许多人会遇到相同的问题

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)

文件com/google/common/collect/ImmutableMap可能已损坏:

部署 Maven 项目会抛出 java.util.zip.ZipException:无效的 LOC 标头(签名错误(

如果您使用的是 eclipse 并想检查此文件是否已损坏,请尝试打开它。它位于番石榴马文属地。如果它已损坏,它将显示invalid LOC header (bad signature)

然后找到找到.m2文件夹,搜索损坏的文件并将其删除。最后运行一个 maven 更新。

这为我解决了问题。

相关内容

  • 没有找到相关文章

最新更新