2011-05-23 52 views
0

我使用下面的命令创建了单元测试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

+1

如果你通常做'蚁build',我可能会建议您改为尝试 蚂蚁-debug -verbose建立> buildStdOut.txt 这将明确地告诉你是否被包含的junit-4.8.2。 – rajah9 2011-05-23 18:54:24

+0

rajah,这是很好的信息知道 – 2011-05-23 19:01:09

回答

0

显然build/lib是瞬间文件夹被ant clean吹掉。我在项目根目录下创建了一个名为lib的文件夹,然后对build.xml执行以下操作。

在根我说<property name="dep_libs" value="${project.base.dir}/lib"/>

然后我改变以上是我路上声明:

<path id="local.class.path"> 
    <fileset dir="${dep_libs}"> 
     <include name="*.jar"/> 
    </fileset> 
</path> 

然后一切正常。