Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant “无法运行程序”;C:\ProgramFiles\Java\jdk1.6.0_24\jre\bin\Java.exe“CreateProcess错误=87,参数不正确_Ant_Build_Cobertura - Fatal编程技术网

Ant “无法运行程序”;C:\ProgramFiles\Java\jdk1.6.0_24\jre\bin\Java.exe“CreateProcess错误=87,参数不正确

Ant “无法运行程序”;C:\ProgramFiles\Java\jdk1.6.0_24\jre\bin\Java.exe“CreateProcess错误=87,参数不正确,ant,build,cobertura,Ant,Build,Cobertura,我正在尝试使用Ant构建一个web应用程序 我使用JUnit和Cobertura进行代码覆盖。Junit仅用于DAO测试 当我运行build时,它会编译所有内容,在我的JUnit运行之前,我调用cobertura.instrument,它调用cobertura-instrument 我得到以下错误 [cobertura-instrument] The jvmargs attribute is deprecated. Please use nested jvmarg elements. [cobe

我正在尝试使用Ant构建一个web应用程序

我使用JUnit和Cobertura进行代码覆盖。Junit仅用于DAO测试

当我运行build时,它会编译所有内容,在我的JUnit运行之前,我调用cobertura.instrument,它调用cobertura-instrument

我得到以下错误

[cobertura-instrument] The jvmargs attribute is deprecated. Please use nested jvmarg elements.
[cobertura-instrument] java.io.IOException: Cannot run program "C:\Program Files\Java\jdk1.6.0_24\jre\bin\java.exe": CreateProcess error=87, The parameter is incorrect
[cobertura-instrument]  at org.apache.tools.ant.taskdefs.Java.fork(Java.java:798)
[cobertura-instrument]  at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:214)
[cobertura-instrument]  at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
[cobertura-instrument]  at net.sourceforge.cobertura.ant.InstrumentTask.execute(InstrumentTask.java:199)
[cobertura-instrument]  at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[cobertura-instrument]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[cobertura-instrument]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[cobertura-instrument]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[cobertura-instrument]  at java.lang.reflect.Method.invoke(Method.java:597)
我在谷歌上搜索,发现上面写着

CreateProcess函数的最大命令行长度为32767个字符。此限制来自UNICODE_字符串结构

我的cobertura仪器的Ant代码

<target name="coverage.instrument" depends="coverage.init,ztest.copy">
<delete file="${basedir}/cobertura.ser"/>
<cobertura-instrument todir="${coverage.instrument.dir}" maxmemory="1024M" datafile="${basedir}/cobertura.ser">
<fileset dir="${model.output.dir}">
<include name="**/*.class"/>
</fileset>
</cobertura-instrument>
</target>

我看不出有什么办法可以解决这个问题


有人在这个问题上帮助我吗?

作为指定每个类文件的替代方法,这将是一个测试的结果,请尝试使用以下文档:。这将大大减少命令行的长度。

请使用debug(-d)标志运行ant,以准确地查看提供给java的内容。