PAIP.java程式調試的注意點及流程總結
以前雖然一直也在寫JAVA程式,但是沒怎麼總結過,今天總結一下以備後用.
----作者Attilax , 1466519819@qq.com---
1.在IDE中啟動TOMCAT的調試(不推薦)
----------------------------------------------
這種實際上是以SHAREMEMORY的方式來進行調試的.要面臨一些部署CONTEXT的RELOAD的問題.
2.遠端偵錯通過JPDA(推薦)
------------------------------
tomcat6w.exe>java> JAVA OPTIONGS> -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8001
IDE中NB6.5 >DEBUG>ATTACH DEBUGGER>JPDA , HOST:yourhostname,port:xxx
3.設定TOMCAT自動RELOAD
---------------------------------------
這樣在修改類後,通過IDE部署(預設是儲存就自動編譯並部署了 ),然後可以VM自動應用更改.
<Context path="/app" docBase="D:\NetBeansProjects\xx\build\web" reloadable="true" debug="9">
<WatchedResource>WEB-INF/struts-config.xml</WatchedResource>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
但是,有時候並不能自動編譯部署,需要注意
注意類修改後,上面會有一個魚叉的表徵圖(可以在程式碼檢視TAB上看到,也可以PROJ檔案清單展開時看到)。。表明修改了。。如果自動編譯了,這個
魚叉就消失了。。有時候需要手動編譯(右鍵》編譯,或者DEBUG狀態下,點擊表徵圖三個綠方塊,APPLY CODE CHANGE),如果同時修改了幾
個類,只編譯最高層的類就可以了,IDE會自動層級編譯。。
3.web.xml以及WEB_INF下的XML更改問題
----------------------------------------------
當修改XML檔案後,已經自動更新到編譯目錄了..但是TOMCAT的RELOAD的機制是不起作用的...需要手動RELOAD..進入TOMCAT的MANAGER,
手動RELOAD相對的APP,以重新讀取WEB.XML配置
4.HIBERNATE.hbm.xml的更改問題
--------------------------------------
HBM.XML一般會放在CLASS目錄下..一般會自動更改更新的...有時候不能自動更新,可以DEBUG狀態下APPLY CODE CHANGE,或者項目
>BUILD.. 就可以了.. 它會自動RELOAD的.很少情況下,需要手動RELOAD..
如果是SPRING中整合HB設定檔,因為MS是一次性讀取,好向是必須要手動RELOAD的才生效..
5.SPRING和STRUTS設定檔**.XML的問題
-------------------------------------------------
雖然 **.XML已經更新,但是 不生效的問題,這是由於SPRING,sTRUTS唯讀一次設定檔造成的,只能手動RELOAD..