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