Mel*_*cak 7 java selenium maven selenium-chromedriver selenium-webdriver
driver=new ChromeDriver();
它给了我错误,我用 sysout 检查,错误在 2 中,好吧,我使用 Maven 的经验不是很好,但我正在检查我的pom.xml
文件,我给出了 Selenium 依赖项。- 有什么建议吗?有任何帮助表示赞赏
\n\npublic WebDriver initilizeDriver() throws IOException\n{\n Properties prop= new Properties();\n FileInputStream f\xc4\xb1s=new FileInputStream("C:\\\\Users\\\\Melih Sancak\\\\my-amazonTest\\\\src\\\\main\\\\java\\\\com\\\\ObjectRepisotary\\\\app\\\\data.properties");\n prop.load(f\xc4\xb1s);\n String browserName =prop.getProperty("browser");\n System.out.println(browserName);\n if(browserName.equals("chrome"))\n {\n System.setProperty("webdriver.chrome.driver", "C:\\\\Users\\\\Melih Sancak\\\\Downloads\\\\chromedriver.exe");\n driver=new ChromeDriver();\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n2.错误:
\n\njava.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap\n at org.openqa.selenium.remote.service.DriverService$Builder.<init>(DriverService.java:253)\n at org.openqa.selenium.chrome.ChromeDriverService$Builder.<init>(ChromeDriverService.java:94)\n at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)\n at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)\n
Run Code Online (Sandbox Code Playgroud)\n
这个问题的原因是guava 库。
通过在maven pom.xml中添加guava库解决了这个问题
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的一位朋友也面临这个问题,添加这个库就解决了这个问题,因为该方法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)
Run Code Online (Sandbox Code Playgroud)
该文件com/google/common/collect/ImmutableMap
可能已损坏:
部署 Maven 项目抛出 java.util.zip.ZipException: invalid LOC header (badsignature)
如果您正在使用 eclipse 并且想检查该文件是否已损坏,只需尝试打开它即可。它位于 guava Maven 依赖项中。如果它被损坏它会告诉你invalid LOC header (bad signature)
。
然后找到该.m2
文件夹,搜索损坏的文件并将其删除。最后运行maven更新。
这为我解决了问题。
归档时间: |
|
查看次数: |
15052 次 |
最近记录: |