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..