【发布时间】:2014-03-26 18:54:19
【问题描述】:
我正在开发一个可以很好地构建和部署的项目。我正在尝试添加一些使用 JWebUnit 的代码,并使用以下 Maven 代码将其引入:
<dependency>
<groupId>net.sourceforge.jwebunit</groupId>
<artifactId>jwebunit-htmlunit-plugin</artifactId>
<version>3.2</version>
<scope>test</scope>
</dependency>
Maven 似乎很好地解决了这个问题,它把所有东西都带进来了(我正在使用 Intellij,它现在出现在“Maven 项目”选项卡的“依赖项”下,也出现在“项目”选项卡的“外部库”下)。
但是,当我引入此依赖项时,IDE 无法找到它(例如,如果我使用 import net.sourceforge.jwebunit.junit.WebTester,它就找不到它)。
但更大的问题是它实际上破坏了一些现有代码——我有一些使用 org.apache.commons.httpclient.HttpClient 的 JUnit 测试,现在在 Maven 的安装目标上我得到一个
NoClassDefFoundError - Could not initialize class 用于该课程。
如果我删除 JWebUnit 依赖项,Maven 安装目标将成功退出。
我习惯于在引入新依赖项时看到有关依赖项版本收敛的错误,我觉得追逐这个“没有找到类定义”错误可能是一个红鲱鱼,但我不确定问题的一般类型在 Maven 中可能会导致它。
编辑:拉入HttpClient的依赖代码是:
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
【问题讨论】:
标签: java maven junit intellij-idea