我想運行一個自定義java任務使用ant與自定義任務已成功編譯到.class文件。這個自定義任務將調用應用程序中的另一個類,理論上通過命令行運行該程序。使用螞蟻運行自定義java任務找不到類文件
<?xml version="1.0"?>
<project default="main" name="myproject">
<property name="distDir" location=".\dist\" />
<property name="mainDir" location=".\" />
<property name="host" value=""/>
<property name="port" value=""/>
<property name="dir" value=""/>
<property name="startTest" value=""/>
<property name="endTest" value=""/>
<property name="testOnly" value=""/>
<property name="userName" value=""/>
<property name="passwd" value=""/>
<taskdef name="mytask" classname="Classrunner">
<classpath>
<fileset dir="${distDir}>
<includes="*.jar">
</fileset>
</classpath>
</taskdef>
<target name="main">
<mytask host="${host}" port="${port}" dir="${dir}" startTest="${startTest}" endTest="${endTest}" testOnly="${testOnly}" userName="${userName}" passwd="${passwd}"/>
</target>
</project>
我的螞蟻文件的一部分的taskdef指定包含一個目錄,在它所有的罐子來運行應用程序,我想運行一個文件集。我遇到的問題是無論何時通過命令行調用ant並傳遞所有正確的參數,然後出現錯誤提示「java.lang.NoClassDefFoundError:com/pega/fuzz/player/CustomClass」
CustomClass是我在我的自定義文件中調用的類,它存在於所有jar文件的目錄中,所以我不知道如何指定它的位置,因爲Ant找不到它。
問題是找不到我寫的自定義任務,它找到了我的自定義任務引用的類。 – barndog 2012-07-24 14:16:04
我明白你的意思了。你確定它在一個jar文件裏面嗎?它是否在正確的包裝中? – davidfrancis 2012-07-24 15:10:03
$ {distDir}指向的目錄擁有所有需要的jar文件。然後我用WinZip手動進入,看一看,它就在那裏。似乎有幾個人有這個問題,但沒有真正的解決方案。 – barndog 2012-07-24 15:14:14