我正在構建和部署的項目正在進行。我想補充一點,使用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