2011-05-23 51 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> 

然後一切正常。