我使用下面的命令创建了单元测试axis2 SOAP客户端项目生成的JUnit项目:蚂蚁无法找到与WSDL2Java的
wsdl2java -t -uri http://myDomain.tld/myService.svc?wsdl
我然后跑ant
并得到编译错误,因为它找不到JUnit的方法如fail(),assertNotNull()等。我意识到我需要编译器引用junit jar。展望在build.xml
我看到了以下内容:
<property name="classes" value="${build}/classes"/>
<property name="lib" value="${build}/lib"/>
所以我把在build.lib子junit-4.8.2.jar
。我仍然得到相同的错误。我还需要做些什么才能让蚂蚁建立我的项目?
更新:
我做了以下修改到build.xml:
新增的lib文件夹中与ID的路径local.class.path
<path id="local.class.path">
<fileset dir="${lib}">
<include name="*.jar"/>
</fileset>
</path>
然后我修改了我的init任务以查找junit:
<available classpathref="local.class.path" property="junit.available" classname="junit.framework.TestCase"/>
<condition property="jars.ok">
<and>
<isset property="stax.available"/>
<isset property="axis2.available"/>
<isset property="junit.available"/>
</and>
</condition>
<!--Print out the availabilities-->
<echo message="Stax Availability= ${stax.available}"/>
<echo message="Axis2 Availability= ${axis2.available}"/>
<echo message="JUnit Availability= ${junit.available}"/>
而且奇怪的输出是:
H:\Code\Java\test.axis2> ant pre.compile.test
Buildfile: H:\Code\Java\RiskTools.axis2\build.xml
init:
[mkdir] Created dir: H:\Code\Java\test.axis2\build
[mkdir] Created dir: H:\Code\Java\test.axis2\build\classes
[mkdir] Created dir: H:\Code\Java\test.axis2\build\lib
pre.compile.test:
[echo] Stax Availability= true
[echo] Axis2 Availability= true
[echo] JUnit Availability= ${junit.available}
BUILD SUCCESSFUL
Total time: 0 seconds
这样看来,我做错了什么,由于线[回音] JUnit的可用性= $ {} junit.available
如果你通常做'蚁build',我可能会建议您改为尝试 蚂蚁-debug -verbose建立> buildStdOut.txt 这将明确地告诉你是否被包含的junit-4.8.2。 – rajah9 2011-05-23 18:54:24
rajah,这是很好的信息知道 – 2011-05-23 19:01:09