我正在构建和部署的项目正在进行。我想补充一点,使用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安装目标会成功退出。
我已经习惯了在引入新的依赖关系时看到依赖版本收敛的错误,我觉得像追逐这个'没有类def定义'错误可能是一个红鲱鱼,但我不确定一般类型Maven中可能导致它的问题。
编辑:在HttpClient的拉动依赖代码:
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
好的建议,因为我实际上遇到了依赖关系顺序导致的问题;然而,在这种情况下,试图将新的依赖关系放在开始处(最后开始)似乎没有帮助。 该项目的pom结构也非常简单 - 只有一个pom - 所以除了这个pom中的内容之外,不应该有其他任何东西被拉动。 (除非有可能将它放在某些依赖关系之间可能有帮助吗?) – user3183922
@ user3183922:你能否更新你的问题以显示httpclient的Maven GAV?作为参考,jwebunit拉入httpunit,它引入了httpclient 4.3.2。 –
是的,我将不得不弄清楚结果是什么...... – user3183922