我正在尝试使用maven创建javadoc并且它失败了。执行验证时也会失败。
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文件:
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$
代码很好,因为在我的笔记本电脑中,我现在无法访问,我运行:
mvn javadoc:javadoc
mvn verify
没有问题,而且测试也在eclipse IDE中运行。
答案 0 :(得分:132)
好的,您已经为junit
类声明了test
依赖项(那些位于src/test/java
但是您尝试在main
类中使用它们(那些在src/main/java
)中。
要么不在主要类中使用它,要么删除<scope>test</scope>
。
答案 1 :(得分:26)
我通过插入以下代码行来修复此错误:
<dependency>
<groupId>junit</groupId> <!-- NOT org.junit here -->
<artifactId>junit-dep</artifactId>
<version>4.8.2</version>
</dependency>
into&lt; dependencies&gt;节点。
更多详情请参阅:http://mvnrepository.com/artifact/junit/junit-dep/4.8.2
答案 2 :(得分:15)
如果您正在使用Eclipse,请查看您的POM依赖项以及您对junit的Eclipse构建路径依赖
如果您选择使用Junit4 eclipse使用org.junit包创建TestCase,但您的POM默认使用Junit3(junit.framework包),原因如下:
只需将您的POM文件中的Junit依赖项更新为Junit4或将Eclipse BuildPath更新为Junit3
答案 3 :(得分:2)
在我的情况下,罪魁祸首并没有区分pom.xml(由Eclipse Maven项目生成)中的main和test sources文件夹
<build>
<sourceDirectory>src</sourceDirectory>
....
</build>
如果您覆盖pom文件中的默认源文件夹设置,则必须显式设置主AND测试源文件夹!!!!
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
....
</build>