Version 3.0 of Sysdeo Eclipse Tomcat Launcher plugin was released today. According to the readme file (txt), source code debugging should now work again although existing Tomcat projects will have to be tweaked by hand:
When using Tomcat 5, Eclipse does not stop on breakpoints set in generated java files for JSP. This is fixed only for new Tomcat projects, for existing ones follow those steps:
My version of the instruction:
- Open your Tomcat project's 'Properties' dialog.
- Goto 'Java Build Path' >> 'Source' panel.
- Make sure 'Allow output folders for source folders' checkbox is checked.
- Select and expand Tomcat 'work' directory in the list of source folders above the checkbox. If you don't have it, add it.
- Select the last child item (should be 'Output folder: blah') and click-on the 'Edit…' button on the right.
- Set or browse to the 'work' directory.
- OK, all the way back.
The problem was that, while the 'work' directory was known as a source folder, there was only one output folder (usually 'bin' or 'WEB-INF/classes'). Since Java files generated from JSP files are compiled in-place by Tomcat, object files (.class) ended up in the 'work' directory instead of the default output directory where Eclipse debugger was expecting them. So the fix was to tell Eclipse that .class files for the Java files in the 'work' directory are within the same directory. Duh.
Thanks to Bruno Leroux for writing Sysdeo Tomcat plugin. Hey, Bruno. Where is your tip jar?