我試圖找出如何在調試時使用我的編譯系統啓用代碼的熱插拔,並且即將乾涸。在本地機器上用日食和遠程調試的Java Hotswap
我有一個Ant構建與調試目標,如下所示:
<target name="debug_dev" depends="compile"
description="Runs development version with the debugger.">
<java classname="applets.TabHandler" fork="true" dir="build">
<jvmarg value="-Xdebug" />
<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" />
<classpath refid="compile_classpath" />
</java>
</target>
然後我用Eclipse中的遠程調試選項連接到端口8000的調試工作正常,但就像我不能編輯代碼在使用Ant之前,我能夠做到。我知道有可能使用JBoss,Tomcat和其他情況來實現熱插拔,但是我只是在本地使用JVM調用來運行我的程序,就像您從上面看到的那樣。
有誰知道這是否可以用我的設置?
謝謝!
我會很快在我的項目中嘗試這個。感謝您的提醒。有一段時間我正在從Ant運行調試,但我又回到了Eclipse調試啓動階段,所以我不知道這是否會與調試方式相關聯。如果它不起作用,我將去Ant調試啓動。 – Eric 2012-04-02 16:29:29
今天我試了一下,它的工作原理。我通過Ant任務觸發JVM的調試實例。然後,我通過遠程調試配置來觸發Eclipse調試客戶端,其目標是調試Ant任務中使用的相同端口號。然後,我根據andersonbd1上面公佈的熱交換項目頁面上提供的示例,通過Ant任務觸發熱交換。優秀!不幸的是,當我運行熱補丁任務時出現錯誤:「BUILD FAILED C:\ Users \ myself \ workspace \ my_project \ build.xml:758:java.net.ConnectException:Connection refused:connect 「 – Eric 2012-04-05 21:22:06
這個解決方案對我來說很重要,因爲我在Eclipse的內置Ant中有一個單獨的編譯過程,因此刪除了Eclipse的熱切換功能。這個熱切換的Ant任務正是我所需要的。如果只有我可以從Ant觸發Eclipse的調試客戶端,我可以將調試啓動下拉到一次點擊來觸發Ant任務,並且當我想編譯&hotswap時再次點擊。 – Eric 2012-04-05 21:27:01