15

亲爱的硒专家,

我从一个 JPA 2.0 程序中遇到以下运行时错误,由于某种原因,该程序似乎与 Firefox Profile 有关:

线程“主”java.lang.NoClassDefFoundError 中的异常:com/google/common/collect/Maps
    在 org.openqa.selenium.firefox.FirefoxProfile.(FirefoxProfile.java:56)
    在 org.openqa.selenium.firefox.FirefoxProfile.(FirefoxProfile.java:79)
    在 model.DownloadCarDetail.getMercedezDetail(model.DownloadCarDetail:72)
    在 model.DownloadCarDetail.getMercedezDetail.main (model.DownloadCarDetail.getMercedezDetail.java:47)
    引起:java.lang.ClassNotFoundException:com.google.common.collect.Maps
        在 java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        在 java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        在 java.security.AccessController.doPrivileged(本机方法)
        在 java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        在 java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 4 更多
Java 结果:1

我将 Firefox 保持在版本 15,以便 Selenium Webdriver 支持它,但怀疑问题与无法读取配置文件目录有关。

您的帮助将不胜感激。

非常感谢,

乔治

4

6 回答 6

19

您看到的问题与您的 Firefox 配置文件无关。

实际上,是 JVM 类加载器抱怨它找不到com.google.common.collect.Maps类。

这通常意味着您的类路径中没有Guava(这是 Selenium 的依赖项)。清理并重建您的项目,检查您的类路径,检查可能存在的各种版本的库。如果您使用某种依赖管理系统(Maven、Ivy 等),请检查它的配置是否正确。

于 2013-09-09T13:45:29.830 回答
3

将 .jar 文件导入从此处下载的 Eclipse (取决于当前版本)。

于 2019-01-04T19:36:01.457 回答
2

打开此链接https://www.seleniumhq.org/download/并下载 Java 3.11.0(当前版本)在 netbeans 或 eclips 上打开 zip 文件到桌面单击在 selenium-java-3.11.0\libs 中添加 jars/文件选择所有文件也在 selenium-java-3.11.0 中选择 client-combined-3.11.0.jar 你会没事的。不记得添加System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");代码。你可以下载 chromedriver 这个链接https://chromedriver.storage.googleapis.com/index.html?path=2.38/

于 2018-05-05T18:36:55.367 回答
2

就我而言,番石榴依赖项已损坏。在我删除损坏的 jar 并重建整个项目后工作正常。

于 2018-11-09T05:38:00.593 回答
0

感谢您提供解决此问题的建议。我从Selenium 2 WebDriver NoClassDefFoundErrorS中找到了确切的答案,它解决了根本问题。

乔治

于 2013-09-14T14:16:35.603 回答
-2

在下面添加 maven 依赖项并清理和编译您的代码。

<!-- https://mvnrepository.com/artifact/com.google.common/google-collect -->
<dependency>
    <groupId>com.google.common</groupId>
    <artifactId>google-collect</artifactId>
    <version>0.5</version>
</dependency>
于 2019-02-05T12:27:56.567 回答