类org.programmerplanet.ant.taskdefs.jmeter.Arg中没有公共execute()

类org.programmerplanet.ant.taskdefs.jmeter.Arg中没有公共execute(),ant,jenkins,jmeter,Ant,Jenkins,Jmeter,需要有关上述错误的帮助。 当我尝试将参数从jenkins传递给ant时,我得到以下错误: "No public execute() in class org.programmerplanet.ant.taskdefs.jmeter.Arg" 由于我是jenkins ant集成的新手,我没有太多想法。 任何建议都会大有帮助 我的ant脚本是: <project basedir="."> <property environment="env"/> <

需要有关上述错误的帮助。
当我尝试将参数从jenkins传递给ant时,我得到以下错误:

"No public execute() in class org.programmerplanet.ant.taskdefs.jmeter.Arg"
由于我是jenkins ant集成的新手,我没有太多想法。
任何建议都会大有帮助

我的ant脚本是:

<project basedir=".">

    <property environment="env"/>
    <property name="jmeter-home" location="D:/apache-jmeter-2.7"/>
    <property name="THREADS" value="${env.THREADS}"/>

    <path id="ant.jmeter.classpath">
        <pathelement location="${jmeter-home}/extras/ant-jmeter-1.0.9.jar" />
    </path>

    <taskdef
        name="jmeter"
        classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"
        classpathref="ant.jmeter.classpath" />
    <taskdef 
        name="jvmarg" 
        classname="org.programmerplanet.ant.taskdefs.jmeter.Arg" 
        classpathref="ant.jmeter.classpath"/>

    <target name="clean">
       <delete dir="results"/>
       <delete file="jmeter.log"/>
       <mkdir dir="results/jtl"/>
       <mkdir dir="results/html"/>
   </target>

   <target name="Product" depends="clean" >
       <jmeter jmeterhome="d:/apache-jmeter-2.7"
               resultlogdir="results/jtl"
               testplan="D:\Program Files\....\Test.jmx" />
       <jvmarg value ="-DTHREADS"/>
       <xslt
           in="${basedir}/results/jtl/Test.jtl"
           out="${basedir}/results/html/Test.xml"
           style="${jmeter-home}/extras/jmeter-results-report_21.xsl"/>
   </target>


看起来您不需要另外定义
jvmarg
taskdef

  • 您已声明线程的属性:

  • 在ant的命令行中设置所需的线程数:


  • 您也可以使用:

    jmeterarg用于指定其他JMeter命令行参数。这个 唯一的属性是值


    build.xml:28:问题:无法创建任务或类型jvmarg原因:名称未定义。措施:检查拼写。操作:检查是否已声明任何自定义任务/类型。措施:检查是否发生了任何/声明。如果按照你说的那样做,就会出现这样的错误。PS:当我执行jenkins的ant脚本时,它显示了这个错误,再一次:1。从build.xml中删除“jvmarg”taskdef。2.如上所述,在“jmeter”任务中添加并定义“property”。3.使用“-DTHREADS=…”在build.xml.org.programmerplanet.ant.taskdefs.jmeter.Arg类中运行ant。如果我删除jvmarg taskdef,它会显示错误,如问题:创建任务失败或键入jvmarg原因:名称未定义。措施:检查拼写。操作:检查是否已声明任何自定义任务/类型。措施:检查是否发生了任何/声明。确定。您使用的是哪个版本的Jmeter?在现成的Jmeter 2.8中,我在%Jmeter_HOME%/extras/dir中有ant-Jmeter-1.1.1.jar,而不是ant-Jmeter-1.0.9.jar。所以,也许你指向了罐子的错误路径,而它根本就找不到?检查此项。您还可以以更一般的方式指向anr-jmeter.jar:
    <property name="THREADS" value="${env.THREADS}"/>
    
    <property name="jmeter.threads" value="${THREADS}"/>
    
    ant -f build.xml -DTHREADS=N