我在执行我的JUNIT类的ant脚本时遇到下面的错误。我的课程编译成功。可能是什么问题?为什么它无法找到类文件?请指导。ClassnotfoundException:在为JUNIT执行Ant脚本时?
我CLASSPATH环境变量:
C:\Program Files\Java\jdk1.6.0_34\lib;D:\HR\jboss-5.0.0.GA\lib\endorsed;D:\HR\jboss-5.0.0.GA\lib;D:\HR\jboss-5.0.0.GA\client;D:\HR\apache-ant-1.6.5\lib;C:\Program Files\Java\jdk1.6.0_34\bin
错误:
junit-report:
[delete] Deleting directory D:\MyProject\folder\src\html-report
[mkdir] Created dir: D:\MyProject\Test\src\html-report
[mkdir] Created dir: D:\MyProject\Test\src\html-report\Junit
[junit] Testsuite: test.com.folder.service.ejb.session.SL_ServiceTest
class
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Caused an ERROR
[junit] test.com.folder.service.ejb.session.SL_ServiceTest
[junit] java.lang.ClassNotFoundException: test.com.folder.service.ejb.sessio
.SL_ServiceTest.class
[junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[junit] at java.security.AccessController.doPrivileged(Native Method)
[junit] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:247)
[junit] Test test.com.folder.service.ejb.session.SL_ServiceTest
FAILED
BUILD SUCCESSFUL
Total time: 0 seconds
的build.xml
<project name="MyProject" default="junit-report" basedir=".">
<!-- Sets the property variables to point to respective directories -->
<property name="junit-xml-dir" value="${basedir}/test-output/junitreports"/>
<property name="report-dir" value="${basedir}/html-report" />
<!-- Ant target to generate html report -->
<target name="junit-report">
<!-- Delete and recreate the html report directories -->
<delete dir="${report-dir}" failonerror="false"/>
<mkdir dir="${report-dir}" />
<mkdir dir="${report-dir}/Junit" />
<!-- Ant task to generate the html report.
todir - Directory to generate the output reports
fileset - Directory to look for the junit xml reports.
report - defines the type of format to be generated.
Here we are using "noframes" which generates a single html report.
-->
<junit>
<classpath>
<pathelement location="./junit-4.8.2.jar"/>
<pathelement location="./ant-junit4.jar"/>
</classpath>
<formatter type="plain" usefile="false" /> <!-- to screen -->
<formatter type="plain" /> <!-- to file -->
<test name = "test.com.folder.service.ejb.session.SL_ServiceTest" todir="."/>
</junit>
</target>
</project>
我用我的classpath环境变量更新了我的问题。请让我知道我是否错过了任何东西。 – sTg 2014-10-08 05:09:16
** test.com.folder.service.ejb.sessio .SL_ServiceTest.class **没有被您的JVM找到,我不认为它与任何其他jar相关。 – Imran 2014-10-08 05:12:20
你把你的测试类放在你的junit ant任务的类路径中吗?希望这个链接将有助于http://stackoverflow.com/questions/6984478/junit-test-integrated-with-ant-failed-with-classnotfoundexception – Imran 2014-10-08 05:20:42