java - mvn 依赖导致 htmlunit 出现 NoSuchMethod 错误

标签 java maven htmlunit

我有依赖性:

<dependency>
    <groupId>net.sourceforge.htmlunit</groupId>
    <artifactId>htmlunit</artifactId>
    <version>2.10</version>
</dependency>

并运行测试,其中包括测试网站的表单提交功能。效果很好。我将其打包到本地存储库 mvn install 中,并将其包含在另一个更广泛的项目中。

执行mvn dependency:tree -Dverbose -Dincludes=net.sourceforge.htmlunit似乎没有透露任何异常

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ myproject ---
[INFO] com.myproject:myproject:war:1.0-SNAPSHOT
[INFO] \- com.myproject:myproject:mp:jar:1.0:compile
[INFO]    \- net.sourceforge.htmlunit:htmlunit:jar:2.10:compile
[INFO]       \- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.10:compile

所以我不认为任何其他部门造成了问题。然而,如果我将测试从基础项目复制/粘贴到更广泛的项目中,我总是会收到错误:

java.lang.NoSuchMethodError: com.gargoylesoftware.htmlunit.html.HtmlPage.getElementById(Ljava/lang/String;)Lcom/gargoylesoftware/htmlunit/html/HtmlElement;

我已经确保我的 IDE 没有在某处缓存一些不可靠的库,据我所知它是干净的。有什么想法吗?

谢谢

最佳答案

问题是你的这个类来自其他一些 Artifact ,因为你验证它不是直接来自不同版本的 htmlunit,它必须在其他 jar 中着色

为了让 jvm 获取正确的类,请将 htmlunit 依赖项放在依赖项之上,这样它将在类路径中优先考虑

关于java - mvn 依赖导致 htmlunit 出现 NoSuchMethod 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24726650/

相关文章:

wordpress - HTMLUnit 和处理 cookie ("WARNING: Cookie rejected")

htmlunit - Java HtmlUnit - 无法登录到 wordpress

JavaFX jar 未随 JAR 文件一起加载,但在将代码编译为应用程序时加载正常

java - Spring jpa 在返回实体对象时更改实体 boolean 变量名称

maven - JasperReports Maven 坏了?

java - 我应该在 Spring 和 Android 中使用一种 Java 模型表示吗?

spring - 创建名称为 'emf' 的 bean 在 ServletContext 资源中定义时出错

java - log4j冲突?

java - Spring MVC Rest Controller @RequestBody 解析

java - vlc4j 无法加载 libvlc.so