NetBeans 6.7 Experience
Posted by Matt Rajkowski on July 27, 2009, 10:00 AM EDT
I've been an advocate of IntelliJ for quite some time. In fact, over the years I've converted a few around here and still today I think it works well. The main gripe I have recently is compatibility with Mac OSX -- daily crashes, and with each crash comes a lengthy cache rebuild. On an Apple Java Developers discussion forum another user with the same exception indicated that JetBrains (the owner of IntelliJ) pointed to Apple's latest Java release as the culprit for a windowing exception and that they wouldn't/couldn't do anything about it. I don't expect an update anytime soon so I had to act quickly.
With a newly released NetBeans IDE, and a problematic IntelliJ 8 and 9 beta on my hands, I decided to give the new NetBeans release a shot. Setting up my projects was easy using the wizard. I pointed to the webapp source directory, the libraries and added resource directories. This was for ConcourseSuite CRM 6 alpha, ConcourseConnect and several custom projects.
Working inside the NetBeans IDE was surprising simple and elegant. I quickly surveyed the menus to see if all/most of the IntelliJ functions I use were there, and they are! In the NetBeans preferences area I changed the keymap to IDEA, then began to use the IntelliJ key commands I was used to. Aside from having to use CTRL instead of the Mac's Command key, the experience seemed similar. I've now updated the keymap, color palette, and installed the Copy & Paste History and Copy Paths plugins to relive my IntelliJ experience (download my customizations here).
Since the Concursive project sources I use are structurally similar to a Maven's suggested structure, there wasn't anything to worry about. Choosing "Run Main Project" started up Tomcat and the webapp worked right away. NetBeans includes an HTTP Server Monitor by default that hooks into the Request, Session, Application Context, Cookies and HTTP Header Properties which I found immediately useful.
Some other highlights:
- Place the cursor on a variable name and NetBeans highlights the usages automatically
- Open a file, then choose Tools-> Diff to compare that file to another open file, or any file using the file selector
- Create Project Groups and switch back and forth between sets of projects quickly
- Subversion works well and seamlessly maps New/Deleted files to Subversion actions Add/Remove
- Use the Database Services window to execute and view database records
- NetBeans is Open Source
Somehow updating Tomcat's settings eluded me... To modify the settings for Apache Tomcat, you have to open up the Services window pane, choose Servers, then right-click on Apache Tomcat to change its settings.
There you have it. After less than a week's use of NetBeans, and with some hesitation, I feel comfortable enough to use NetBeans as my primary IDE. It has proven to be feature rich, stable, and fun. I've got IntelliJ on standby for the time being and hope that the exception gets worked out.