2014-07-21 66 views
0

我在項目中有以下Ant目標和路徑元素。屬性的Ant-Junit類路徑

<project> 
..... 
<path id="MyProject.classpath" location="${class.path}"> 
    <pathelement location="${output.directory}/ant-junit.jar" /> 
    <pathelement location="${output.directory}/junit.jar" /> 
    <fileset dir="${output.directory}"> 
     <include name="**/*.jar" /> 
    </fileset> 
    <pathelement location="${class.path}"/> <!-- This did not work --> 
    <dirset dir="${dest.path}">   
    </dirset> 
</path> 

<path id="classpath.test"> 
    <fileset dir="${output.directory}"> 
     <include name="**/*.jar" /> 
    </fileset> 
</path> 

<target name="test">  
    <echo>In Test</echo> 
    <mkdir dir="${junit.output.dir}" /> 
    <junit> 
     <classpath refid="MyProject.classpath"> 
     </classpath>   
     <batchtest todir="${junit.output.dir}"> 
      <formatter type="plain" usefile="false"/> 
      <formatter type="plain" /> 
      <fileset dir="${src.path}"> 
       <include name="**/*Test*.java" /> 
      </fileset> 
     </batchtest>  
    </junit> 
</target> 
.... 
</project> 

我有一個屬性class.path指向一堆像下面的罐子。我想用這個class.path(由IDE創建)屬性作爲上述junit測試類路徑的類路徑,我嘗試了一些東西,但沒有奏效。有人能指出我正確的方向嗎?

<condition property="class.path" value="C:/tools/bea/jdk142_19/jre/lib/rt.jar;C:/tools/bea/jdk142_19/jre/lib/jsse.jar;C:/tools/bea/jdk142_19/jre/lib/jce.jar;C:/tools/bea/jdk142_19/lib/tools.jar;${platformhome.local.directory}/server/lib/knex.jar;${platformhome.local.directory}/common/lib/log4j.jar;${platformhome.local.directory}/server/lib/debugging.jar;${platformhome.local.directory}/javelin/lib/javelin.jar;${platformhome.local.directory}/server/lib/wlw-lang.jar;${platformhome.local.directory}/server/lib/weblogic.jar;${platformhome.local.directory}/common/eval/pointbase/lib/pbserver44.jar;${platformhome.local.directory}/common/eval/pointbase/lib/pbclient44.jar;${platformhome.local.directory}/server/lib/webservices.jar;${platformhome.local.directory}/server/lib/webserviceclient.jar;${platformhome.local.directory}/server/lib/webserviceclient+ssl.jar;${platformhome.local.directory}/server/lib/wli.jar;${platformhome.local.directory}/server/lib/xbean.jar;${platformhome.local.directory}/server/lib/wlxbean.jar;${platformhome.local.directory}/server/lib/xqrl.jar;${platformhome.local.directory}/server/lib/netui/netui-compiler.jar;${app.local.directory}/APP-INF/lib/CommonUtilities.jar;${app.local.directory}/APP-INF/lib/junit.jar;${app.local.directory}/APP-INF/lib/log4j.jar"> 
     <or> 
     <os family="windows"/> 
     <os name="SunOS"/> 
     </or> 
    </condition>  

回答

0

<pathelement location= ...>:本location屬性指定單個文件或目錄相對於項目的基本目錄(或絕對文件名),而path屬性接受的位置冒號或者分號分隔的列表。
path屬性旨在用於預定義的路徑 - 在任何其他情況下,應該優先考慮具有位置屬性的多個元素。

..from HERE

使用<pathelement path="${class.path}" />應該工作,除非有進一步的錯誤

0

我不明白你是如何實現Ant類路徑的。這裏是我的,它希望能幫助您:

<path id="project_classpath"> 
    <fileset dir="${dir_sandbox_jar_dependencies}" includes="*.jar"/> 
    <pathelement location="${build.class.dir}"/> 
</path> 

然後我用

<java classname="some.java.class" failonerror="true" classpathref="project_classpath"> 
    <arg value="hello"/> 
</java> 

classpathref使用它是許多任務的參數,如javacjava,並且javadoc

這是也接受 - 我認爲 - 作爲JUnit任務中的nested element

+0

Hello aliteralmind,ant類路徑在build.xml文件中。我需要將類路徑設置爲junit任務。但是路徑在屬性class.path中。 – Zeus

+0

是的。我不積極。我希望分享我使用的內容可能會有所幫助。 – aliteralmind