maven错误:包org.junit不存在

the*_*eme 69 java junit4 maven-3

我正在尝试使用maven创建javadoc并且它失败了.执行验证时也会失败.

mvn verify
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

(...)
    [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
    (···)
Run Code Online (Sandbox Code Playgroud)

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

<dependency>
  <groupId>org.junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.2</version>
  <scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我的本地存储库包含junit jar文件:

miquel@ubuntu:~/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
miquel@ubuntu:~/creaveu/createOmegaMatrix$
Run Code Online (Sandbox Code Playgroud)

代码很好,因为在我的笔记本电脑中,我现在无法访问,我运行:

mvn javadoc:javadoc
mvn verify
Run Code Online (Sandbox Code Playgroud)

没有问题,测试也在eclipse IDE中运行.

And*_*nov 138

好吧,你已经声明了junittest类的依赖(那些已经存在,src/test/java但你试图在main类中使用它(那些在类中src/main/java).

要么不在主类中使用它,要么删除<scope>test</scope>.

  • 该死的!!!正确解决了验证目标的问题.现在我有javadoc的其他问题,但关于Latex.所以问题解决了!谢谢@Andrew (2认同)

Siw*_*申思维 28

我通过插入以下代码行来修复此错误:

<dependency>
  <groupId>junit</groupId>     <!-- NOT org.junit here -->
  <artifactId>junit-dep</artifactId>
  <version>4.8.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

进入<dependencies>节点.

更多细节请参考:http://mvnrepository.com/artifact/junit/junit-dep/4.8.2


Gru*_*art 15

如果您正在使用Eclipse,请查看您的POM依赖项以及您对junit的Eclipse构建路径依赖性

如果你选择使用Junit4 eclipse使用org.junit包创建TestCase,但你的POM默认使用Junit3(junit.framework包),这就是原因,如下图所示:

看JUNIT冲突

只需将您的POM文件中的Junit依赖项更新为Junit4,或将Eclipse BuildPath更新为Junit3


nix*_*nix 7

就我而言,罪魁祸首是没有区分 pom.xml 中的 main 和 test 源文件夹(由 eclipse maven 项目生成)

<build>
    <sourceDirectory>src</sourceDirectory>
    ....
</build>
Run Code Online (Sandbox Code Playgroud)

如果覆盖 pom 文件中的默认源文件夹设置,则必须显式设置主和测试源文件夹!!!!

<build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <testSourceDirectory>src/test/java</testSourceDirectory>
    ....
</build>
Run Code Online (Sandbox Code Playgroud)