我正在尝试使用 ant 运行自定义 java 任务,自定义任务已成功编译到 .class 文件中。此自定义任务将调用应用程序中的另一个类,理论上通过命令行运行该程序。
<?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>
我的 ant 文件的 taskdef 部分指定了一个文件集,该文件集包含一个目录,其中包含所有 jar 以运行我正在尝试运行的应用程序。我遇到的问题是每当我通过命令行调用 ant 并传递所有正确的参数时,我都会收到一条错误消息“java.lang.NoClassDefFoundError: com/pega/fuzz/player/CustomClass”
CustomClass 是我在自定义文件中调用的类,它存在于所有 jar 文件的该目录中,所以我不确定如何指定它的位置,因为 Ant 找不到它。