Some time ago I wrote about a situation when starting of Tomcat from Netbeans failed. Of course when someone follows with steps prepared in this article, debugging is more complicated. But there is one nice feature in Tomcat – we can debug remote servers.
First thing to do is to enable debugging applications deployed on Tomcat, start Tomcat by this way:
Tomcat/bin/catalina.bat jpda start
By default, Tomcat is listening on port 8000 (changing default port is possible in some configuration files).
In second step we should connect from Netbeans to our application. Sources in IDE (in my case: Netbeans) must be identical with classes deployed on Tomcat! If there are any differences, some breakpoints will be unavailable and debugging will not working properly.
Go to Debug menu and fill forms:
Debugger: Java Debugger (JPDA)
and click OK. After a while, breakpoints should be available. Look into console. There are info about enabling each breakpoint.
Some day I had problem with deploying project from Netbeans to Tomcat (you may look to similar discussion on StackOverflow: Starting of Tomcat failed from Netbeans 7.3). Unfortunatelly, any of suggestion didn’t help, so I wrote my own deployer in Windows batch.
ECHO AutoDeploy to Tomcat
echo Stop Tomcat, press any key to continue...
netstat -a -n | findstr :8080 > NUL
if %errorlevel%==0 ( goto :stoptomcat ) else ( goto :next )
echo Closing Tomcat.
::Copy compiled classes from Netbeans to Tomcat
XCOPY %build_path% "%tomcat_path%\webapps\ROOT\WEB-INF\classes" /E /C /R /I /K /Y
CALL %tomcat_path%\bin\catalina.bat jpda start
But I wanted more – let Netbeans run this script after building my application.
Edit build.xml file, located in project directory, by putting these lines:
<exec dir="." executable="cmd">
<arg line="/c D:\scriptLocation\deployOnTomcat.bat"/>