我想将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>
答案 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>