2012-09-13 34 views
48

我試圖創建與Maven的Javadoc和失敗。驗證時也會失敗。Maven的錯誤:包org.junit不存在

mvn verify 

我得到以下錯誤:

(...) 
    [INFO] ------------------------------------------------------------- 
    [ERROR] COMPILATION ERROR : 
    [INFO] ------------------------------------------------------------- 
    [ERROR] /home/miquel/creaveu/createOmegaMatrix/src/main/java/edu/url/salle/gtm/hnm/dataStructures/HFrame.java:[6,23] 
package org.junit does not exist 
    [ERROR] /home/miquel/creaveu/createOmegaMatrix/src/main/java/edu/url/salle/gtm/hnm/dataStructures/HFrame.java:[6,0] 
static import only from classes and interfaces 
    (···) 

在我的pom.xml文件,我有以下行:

<dependency> 
    <groupId>org.junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.8.2</version> 
    <scope>test</scope> 
</dependency> 

和我的本地庫中包含了JUnit的jar文件:

[email protected]:~/creaveu/createOmegaMatrix$ ls -l /home/miquel/.m2/repository/org/junit/junit/4.8.2/ 
total 248 
**-rw-r--r-- 1 miquel miquel 237344 2012-09-13 11:01 junit-4.8.2.jar** 
-rw-r--r-- 1 miquel miquel 236 2012-09-13 11:13 junit-4.8.2-javadoc.jar.lastUpdated 
-rw-r--r-- 1 miquel miquel  0 2012-09-13 11:13 junit-4.8.2-javadoc.jar-not-available 
-rw-r--r-- 1 miquel miquel 458 2012-09-12 18:35 junit-4.8.2.pom 
-rw-r--r-- 1 miquel miquel 236 2012-09-13 11:13 junit-4.8.2-sources.jar.lastUpdated 
-rw-r--r-- 1 miquel miquel  0 2012-09-13 11:13 junit-4.8.2-sources.jar-not-available 
-rw-r--r-- 1 miquel miquel 163 2012-09-13 11:22 _maven.repositories 
[email protected]:~/creaveu/createOmegaMatrix$ 

的代碼是很好,因爲在我的筆記本電腦,這是我現在沒有訪問,我麪包車跑:

mvn javadoc:javadoc 
mvn verify 

,沒有任何問題,而且測試在Eclipse IDE工作。

+0

相同的症狀,不同的原因:http://stackoverflow.com/q/5845990/923560 – Abdull

回答

95

好吧,你已經聲明junit依賴僅供test類(那些在src/test/java,但你想在main類(那些在src/main/java)使用它。

要麼不使用它在主類,或刪除<scope>test</scope>

+2

該死!以驗證目標解決問題的權利。現在我遇到了javadoc的其他問題,但是關於Latex。所以問題解決了!由於@Andrew – theme

+0

@theme不客氣=) –

+0

當我從POM文件中刪除範圍的測試,我的測試用例從未得到執行,雖然我不明白這是我用來獲取之前(同上面提到的)任何錯誤。我的測試也在src/test/java下,並且我有幾個在src/main/java中的庫。 – OverrockSTAR

25

我通過這些代碼行中插入固定該錯誤:

<dependency> 
    <groupId>junit</groupId>  <!-- NOT org.junit here --> 
    <artifactId>junit-dep</artifactId> 
    <version>4.8.2</version> 
</dependency> 

到<依賴關係>節點。

更多詳情,請參閱:http://mvnrepository.com/artifact/junit/junit-dep/4.8.2

14

,如果你使用的是Eclipse看你的POM依賴和JUnit的

您的Eclipse構建路徑依賴,如果你使用org.junit包,但你的POM選擇使用Junit4 Eclipse中創建測試用例

see JUNIT conflict

只需更新Junit的依賴我:在默認情況下Junit3(junit.framework包),這是原因,喜歡這幅畫使用n您的POM文件到Junit4或您的Eclipse BuildPath到Junit3

+0

好吧,我在兩年前問過這個問題,現在我至少現在不再工作了。但謝謝你的答案。不知道是否必須以某種方式將其設置爲關閉。 – theme

+0

它爲我工作 – cooler

+0

@theme這是解決它的答案:) – dwjohnston

相關問題