JUnit错误:只有在明确请求注释处理时才接受类名'org.junit.runner.JUnitCore'

时间:2015-10-22 14:54:19

标签: java unit-testing junit javac

编译java文件后没有错误,当我尝试使用带有以下命令的测试单元运行类时:

  

javac -cp。:junit-4.12.jar:hamcrest-core-1.3.jar org.junit.runner.JUnitCore NameOfTheClass

我收到以下错误:

  

错误:类名称'org.junit.runner.JUnitCore,DigPowTest,NameOfTheClass'仅在明确请求注释处理时才被接受

有什么想法吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我也遇到了这个错误,并且认为我会发布一个稍微更完整的答案,因为自问题发布以来已经有一些访问过这个问题。

这个问题几乎与此重复:javac error: Class names are only accepted if annotation processing is explicitly requested。但是,这个问题首先出现在谷歌上,因为我的错误消息与Joao的关系更紧密(它与junit框架有关)。

劳伦斯上面的回答假设海报想要编辑,但这不是Joao在他原来的问题中陈述的情况(后来在他的评论中)。他已经编译并且想要运行该程序,但用javac代替java打了一个错字。由于javac需要一个以“.java”结尾的文件名作为标准输入,它会在响应中吐出error: Class names...annotation processing...错误消息。

因此,如果您收到此消息,在尝试运行您的测试代码时,您可能错误地输入了该命令。

P.S。我会把它放在评论中,但没有声誉。

答案 1 :(得分:0)

你错过了" .java"你的文件名在complile上?

javac -cp .:junit-4.12.jar:hamcrest-core-1.3.jar org.junit.runner.JUnitCore NameOfTheClass.java