Channels ▼


NetBeans 6.0: A First Look

Other Improvements

So far, we've examined enhancements and features added to NetBeans 6 mainly for the code editor and tools support. There are numerous important enhancements made throughout the rest of NetBeans that are worth reviewing.

NetBeans Project Improvements

For instance, NetBeans project support has been greatly enhanced with the ability to maintain multiple configurations per project. Each configuration is easily selectable via a drop-down combobox on the main toolbar for convenience (see Figure 9). With this feature, you can easily create multiple runtime configurations, such as those that stress your application in different ways, take different command-line parameters, and so on. Having the ability to define a default configuration, and quickly switch between others, will prove to be a valuable addition.

[Click image to view at full size]
Figure 9: You can easily create and choose from multiple project configurations from a combobox on the main NetBeans toolbar.

Other project-related improvements include the ability to create project groups, regardless of dependencies. With NetBeans 6, you can group projects any way you please.

NetBeans Local History

The addition of a local history of source code changes is significant, in my opinion. Although NetBeans supports many different source-code control systems, such as CVS, Subversion, and others like Perforce that provide appropriate plug-ins, there is a common usage scenario that these systems dont address well. In my experience, most development organizations maintain a "don't-break-the-build" policy where the rule is to never check code back into the main repository unless it compiles and has been unit tested. There is good reason for this: most organizations perform regular (sometimes daily) builds to deploy and test.

However, the problem with this approach is that some developers end up with code modules checked out for days or longer as they implement and unit test their new code. Since they're not checking in their code (for good reason) they run the risk of losing the code, or losing changes, through something as simple as a file overwrite. They also lose the ability to look back in time at previous local changes. NetBeans 6 provides a solution to this -- Local History.

As you make changes to a file and save them, NetBeans tracks them and creates a revision history complete with deltas maintained by date and time. Under the NetBeans main Versioning menu is a new choice called Local History. When chosen, a history list view is displayed for the selected file along with the differences between the current state of the file, and the revision of the file chosen in the list (see Figure 10).

[Click image to view at full size]
Figure 10: The NetBeans 6 Local History maitains a local cache of changes made to a file, complete with history and file differences.

While this feature doesn't replace the need for a full-featured source-code control system such as Subversion, it does fill in the void left when you make changes locally over the course of a number of days (by default, seven days worth of changes).

Easy JavaDoc Creation

JavaDocs can be created for you, as you type, or by hitting CTRL-Enter on a line of code. You can also generate JavaDocs for a complete class simply by selecting the Generate JavaDoc for menu option from the top-level Build menu. The result is a JavaDoc file, complete with frames, thats automatically opened in a browser for you to inspect (see Figure 11).

[Click image to view at full size]
Figure 11: Full JavaDocs are created automatically for your code either as you type, or through an option on the Build menu.

The resulting JavaDoc is clean and professional looking, and is a snap to generate. You no longer have any excuses not to include full JavaDocs with your code!

Web Services and Database Support

NetBeans 6 includes support for JSR 311, which standardizes REST-based web service development and deployment. A fully compliant JSR 311 plug-in is available to help you build lighter-weight, REST-based web services with Java and XML. Also included is a graphical SOAP-based web service designer tool.

Another requested feature addressed in this release is the addition of GUI-based database query designer. Remember Microsoft Access? Although the database itself wasn't perfect, its graphical query designer made database development and relationship mapping a snap. NetBeans 6 brings the power of the query design GUI to enterprise database development.


With this release, NetBeans 6 is now in parity with Java Studio Creator in terms of Java UI and Ajax development. In fact, you can expect to see more of a convergence of NetBeans with Studio Creator and Studio Enterprise in the future. Even Sun Studio, Sun's C/C++/Fortran development IDE and toolset, uses the NetBeans IDE for its development environment, and will reuse the NetBeans installation options when you install it.

This level of integration across all of Sun's development tools and IDEs is unprecedented. When you combine the tool and language support, the license offerings (CDDL, and GPL v2 plus the CLASSPATH exception), the supported operating systems (Solaris, Linux, Mac OS X, and Windows), and other available developer applications (such as OpenSolaris, MySQL, and PostgreSQL), Sun offers the largest degree of choice and flexibility for all types of development when compared with competing offerings.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.