如何在Eclipse中使用ANT脚本时debuggingJava代码
我有一个Java类,我需要debugging它(把断点,继续使用F6)。 我正在使用ANT脚本来初始化,构build,部署和运行代码。 我在用:
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" debuglevel="lines,vars,source"> .......... </javac>
但是当我把断点放在我的foo.java类的一行中,并运行ant脚本(运行部分,右键单击运行 – > Debug As – > Ant Build)时,Eclipse不会停在那一行码。
我错过了什么?
在<java>
ant任务中,你应该添加两个jvm参数( <jvmarg>
IIRC)来打开debugging:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5432
这将在打开debugging的情况下启动java程序,程序将准备好接受端口5432上的debugging器连接。然后,您应该使用IDE的远程debugging工具并指示它连接到端口5432。
(不能评论给定的答案,所以不得不作出另一个答案)
我意识到,从Eclipse启动Ant时,必须将fork =“true”添加到<java>
任务。 另外,首先我不清楚如何编写嵌套的jvmargs,所以这里举一个例子:
<java classname="..." fork="true"> <jvmarg value="-Xdebug" /> <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432" /> ... </java>
这是我如何为我工作 (只是评论未来的参考)。
这是为了帮助那些想知道如何debugging使用ant的Web应用程序来构build和部署的人。 这在传统应用程序中相当频繁。 如果项目是以“dynamicWeb项目”开始的,那么下面的步骤甚至是Ant就没有必要了。
在您的代码中设置中断点。
Window -> Show View -> Others -> Servers
例如,添加您的服务器JBoss或Tomcat。
右键单击服务器,然后select“debugging”。
确保在ant构build文件中设置了debug =“true”。
set ANT_OPTS=%ANT_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432
在Eclipse中
Toolbar >> Run >> Debug Configurations >> + >>
给出值:
Name: Debug_Ant Project: active-eclipse-project Host:localhost Port:5432
在Eclipse中:
Toolbar > External Tool Configurations... > (select your existing ANT build or create new) > JRE tab
在“虚拟机参数”中添加:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y
再次Toolbar > Debug > Debug Configurations... > Remote Java Application > New
Name: Debug Ant Project: <Select your project where debug files are kept> Host: localhost Port: 8787
现在在“ 外部工具configuration ”中启动“ ANT Task ”(等待Remote Java Applicationdebugging器连接),然后从“ Debug ”工具栏图标启动“ Debug Ant ”。
脚步:
1)configuration远程Javadebugging器与本地主机的名称,端口地址8000 (或任何您系统的端口地址将是)
2)创build一个batch file,并将其保存在tomcat的bin文件夹中(当远程debugging需要在同一个系统中保存服务器时,这一步是必需的)。
在batch file中,你应该保留这一行:
设置JPDA_ADDRESS = 8000
设置JPDA_TRANSPORT = dt_socket
catalina.bat jpda开始
在java代码中保留一个断点之后,debugging这个远程debugging器。 它会工作。
快乐编码!
我也面临这个问题,我做了以下步骤来解决。
-
将下面的行放在ANT文件中
-
转到debuggingconfiguration – >远程Java应用程序 – >用项目名称创build新的configuration文件,端口= 5432和主机是本地主机,并保存它。
-
现在使用debugging模式运行你的build.xml,然后你应该在控制台中看到“在地址5432上监听transport dt_socket”
-
现在运行你configuration的debuggingconfiguration文件。 现在,您的selenium代码将使用debugging模式运行。
希望这可以帮助。
如果你仍然面临问题,请让我知道,以便我可以帮助你。
谢谢