Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 尝试从ANT运行JUnit测试时发生java.lang.NoClassDefFoundError_Testing_Ant_Junit - Fatal编程技术网

Testing 尝试从ANT运行JUnit测试时发生java.lang.NoClassDefFoundError

Testing 尝试从ANT运行JUnit测试时发生java.lang.NoClassDefFoundError,testing,ant,junit,Testing,Ant,Junit,在尝试使用下面build.xml中的runtestsreport任务从ANT运行JUnit测试时,我遇到了java.lang.NoClassDefFoundError问题;我知道其他任务也可以,问题在于测试的实际运行 我已经尝试了很多基于这里发布的问题的调整,但我无法修复它;我真正需要的是一个可以配对的开发人员,但他们今天都回家了 有人能帮忙吗 build.xml文件是 我已经在详细模式下运行ant来检查类路径,但是我看不到问题所在(尽管我知道它正盯着我看) [junit]隐式添加C:\Pr

在尝试使用下面build.xml中的runtestsreport任务从ANT运行JUnit测试时,我遇到了java.lang.NoClassDefFoundError问题;我知道其他任务也可以,问题在于测试的实际运行

我已经尝试了很多基于这里发布的问题的调整,但我无法修复它;我真正需要的是一个可以配对的开发人员,但他们今天都回家了

有人能帮忙吗

build.xml文件是

我已经在详细模式下运行ant来检查类路径,但是我看不到问题所在(尽管我知道它正盯着我看)

[junit]隐式添加C:\Program Files\apache-ant-1.8.2\lib\ant启动器
罐子C:\ProgramFiles\apache-ant-1.8.2\lib\ant.jar;C:\ProgramFiles\apache-ant-1
.8.2\lib\ant-junit.jar;C:\ProgramFiles\apache-ant-1.8.2\lib\ant-junit4.jar到C
拉斯帕斯
[junit]使用执行'C:\Program Files\Java\jdk1.6.0_25\jre\bin\Java.exe'
论据:
[junit]'-classpath'
[junit]使用执行'C:\Program Files\Java\jdk1.6.0_25\jre\bin\Java.exe'
论据:
[junit]'-classpath'
[junit]'C:\\workspace\ESS\tools\junit-4.8.2\junit.jar;C:\User
s\waltersj\workspace\ESS\tools\junit-4.8.2\junitsrc.jar;C:\\worksp
ace\ESS\tools\selenium-2.0rc2\apache-mime4j-0.6.jar;C:\\workspace\
ESS\tools\selenium-2.0rc2\bsh-1.3.0.jar;C:\\workspace\ESS\tools\se
lenium-2.0rc2\cglib-nodep-2.1_3.jar;C:\\workspace\ESS\tools\seleni
um-2.0rc2\commons-codec-1.4.jar;C:\\workspace\ESS\tools\selenium-2
.0rc2\commons-collections-3.2.1.jar;C:\\workspace\ESS\tools\seleni
um-2.0rc2\commons-io-2.0.1.jar;C:\\workspace\ESS\tools\selenium-2。
0rc2\commons-lang-2.4.jar;C:\\workspace\ESS\tools\selenium-2.0rc2\
commons-logging-1.1.1.jar;C:\\workspace\ESS\tools\selenium-2.0rc2\
cssparser-0.9.5.jar;C:\\workspace\ESS\tools\selenium-2.0rc2\guava-
r09.jar;C:\\workspace\ESS\tools\selenium-2.0rc2\hamcrest-all-1.1.j
应收账;C:\\workspace\ESS\tools\selenium-2.0rc2\htmlunit-2.8.jar;C:\使用
rs\waltersj\workspace\ESS\tools\selenium-2.0rc2\htmlunit-core-js-2.8.jar;C:\User
s\waltersj\workspace\ESS\tools\selenium-2.0rc2\httpclient-4.0.2.jar;C:\Users\wal
tersj\workspace\ESS\tools\selenium-2.0rc2\httpcore-4.0.1.jar;C:\\w
orkspace\ESS\tools\selenium-2.0rc2\httpmime-4.0.1.jar;C:\\workspac
e\ESS\tools\selenium-2.0rc2\jcommander-1.13.jar;C:\\workspace\ESS\
tools\selenium-2.0rc2\jna.jar;C:\\workspace\ESS\tools\selenium-2.0
rc2\json-20080701.jar;C:\\workspace\ESS\tools\selenium-2.0rc2\juni
t-dep-4.8.1.jar;C:\\workspace\ESS\tools\selenium-2.0rc2\nekohtml-1
.9.14.jar;C:\\workspace\ESS\tools\selenium-2.0rc2\sac-1.3.jar;C:\U
sers\waltersj\workspace\ESS\tools\selenium-2.0rc2\selenium-java-2.0rc2-srcs.jar;
C:\\workspace\ESS\tools\selenium-2.0rc2\selenium-java-2.0rc2.jar;C
:\\workspace\ESS\tools\selenium-2.0rc2\serializer-2.7.1.jar;C:\使用
rs\waltersj\workspace\ESS\tools\selenium-2.0rc2\testng-6.0.1-nobsh-noguice.jar;C
:\\workspace\ESS\tools\selenium-2.0rc2\xalan-2.7.1.jar;C:\Users\wa
ltersj\workspace\ESS\tools\selenium-2.0rc2\xercesImpl-2.9.1.jar;C:\Users\walters
j\workspace\ESS\tools\selenium-2.0rc2\xml-api-1.3.04.jar;C:\\工作
space\ESS\build\esstestapp\tests\jar\tests.jar;C:\\workspace\ESS\b
uild\esstestapp\framework\jar\framework.jar;C:\\workspace\ESS;C:\P
程序文件\Java\jre6\lib\ext\QTJava.zip;C:\ProgramFiles\apache-ant-1.8.2\lib\
ant-launcher.jar;C:\ProgramFiles\apache-ant-1.8.2\lib\ant.jar;C:\程序文件\
apache-ant-1.8.2\lib\ant-junit.jar;C:\ProgramFiles\apache-ant-1.8.2\lib\ant-jun
it4.jar'
任何能帮助我运行测试的人都将不胜感激

谢谢

詹姆斯

更新

我观察到,如果我编辑tests.classpath以删除以下两行,那么我看到的错误将切换到ClassNotFound,这很有意义,因为它没有对包含类的.jar文件的引用

<fileset dir="${testsbuild}/jar" includes="**/*.jar"/>
<fileset dir="${frameworkbuild}/jar" includes="**/*.jar"/>


上面两行出现在tests.classpath中,我很高兴能找到它们,但名称错误,我不知道如何修复该错误。

问题由以下jar命令引起:

<jar destfile="${testsbuild}/jar/tests.jar" basedir="${testsbuild}" />

testsbuild属性应设置为

<property name="testsbuild" location="C:\<path on my machine>\workspace\ESS\build"/>

解释 文件Credentials.class被编译为类esstestapp.tests.Credentials。需要在类路径上找到它作为文件:


esstestapp/tests/Credentials.class

在对testsbuild属性进行了您建议的修改后,我现在看到了每个包含测试的类的java.lang.ClassNotFoundException错误:(听起来像是修复了一个问题导致了另一个问题。您仍然得到了“错误的名称”吗异常中的解释?这就是我建议的修复程序试图解决的问题。抱歉,看起来我们需要更多的细节来解决您的第二个问题。当我在您的答案中建议进行更改时,我只看到ClassNotFoundException。我将更新原始问题,以更详细地解释项目,尽管有任何指向其他问题的指针我能提供的详细信息很好:)
<fileset dir="${testsbuild}/jar" includes="**/*.jar"/>
<fileset dir="${frameworkbuild}/jar" includes="**/*.jar"/>
<jar destfile="${testsbuild}/jar/tests.jar" basedir="${testsbuild}" />
<property name="testsbuild" location="C:\<path on my machine>\workspace\ESS\build"/>