调试不工作的ant任务:原因:名称未定义

时间:2015-07-01 17:27:06

标签: java debugging netbeans ant

我想将NetBeans附加到我正在编写的Java程序中以帮助调试。我已经在我的ant文件中添加了一个“调试”目标,期望这将在端口54322上启动调试器,然后NetBeans可以附加。这在过去的某些时候起作用,但同时我一定搞砸了。任何人都可以尝试帮助在语法中找到我的错误吗?

ant debug

只是启动程序,没有调试器启动。程序结束后,将在终端中打印:

build.xml:55: Problem: failed to create task or type jvmarg
Cause: The name is undefined.

在编译任务中,我已经包含了调试选项:

<javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false" debug="true" debuglevel="lines,vars,source">

这是“调试”任务(包括行号)。你看到第55行是蚂蚁抱怨未定义名称的地方。

53 <target name="debug" depends="jar">
54    <java jar="${jar.dir}/${ant.project.name}_ClearText.jar" fork="true"/>
55    <jvmarg line="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=54322" />
56 </target>

1 个答案:

答案 0 :(得分:2)

jvmarg必须嵌套在java任务调用中:

<target name="debug" depends="jar">
   <java jar="${jar.dir}/${ant.project.name}_ClearText.jar" fork="true">
       <jvmarg line="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=54322" />
   </java>
</target>