Ant无法找到使用wsdl2java生成的项目的junit

问题描述

|| 我使用以下命令创建了带有单元测试的axis2 soap客户端项目:
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\"/>
因此,我将ѭ4放置在build.lib子文件夹中。我仍然遇到相同的错误。我还需要做什么来吸引蚂蚁来构建我的项目? 更新: 我对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
因此,由于行[echo] JUnit Availability = $ {junit.available},看来我做错了     

解决方法

显然,
build/lib
是瞬变文件夹,被by9吹走了。我在项目根目录下创建了一个名为lib的文件夹,然后对build.xml进行了以下操作。 在词根中加ѭ10 然后,将上面的path语句更改为:
<path id=\"local.class.path\">
    <fileset dir=\"${dep_libs}\">
        <include name=\"*.jar\"/>
    </fileset>
</path>
然后一切正常。