Skip to main content

A First Look at NetBeans 6.7

Posted by cayhorstmann on June 29, 2009 at 8:54 AM PDT

A few days after Eclipse Galileo, Netbeans released its latest offering,
Netbeans 6.7. Here is a first look, as always from my entirely biased
perspective.

out-of-box.jpg

“Out of the box” readiness has always been a forte of Netbeans
(pun intended for old-timers). The integration with the href="http://kenai.com/projects/help/pages/KenaiOverview">Kenai open source
software hosting site takes nothing more than entering your password. You can
do issue tracking from inside the IDE. Think of it as “Mylyn for
Kenai”.

Glassfish integration is also smoother than in Eclipse. And you don't have
to fuss with a Subversion adapter, like in Eclipse. Subversion and Mercurial
are built in.

I just noticed that Netbeans has an equivalent to Eclipse's workspaces,
called “project groups”. (Thanks to Michael Bien for pointing out that this feature has been there since 6.0.) The Netbeans feature isn't quite as
powerful as the Eclipse equivalent. —you can't have two project groups with different code formatting
conventions.

I am told that Netbeans has great support for PHP, but that's not my cup of
tea. I tried activating Scala support, following the “nightly
build” instructions from this
page
, but I got an error “Could not connect to compilation
daemon.”. Update: That error goes away if you globally set SCALA_HOME and add the Scala bin directory to the global path (e.g. in /etc/environment). Unfortunately, the plugin seems just as basic as the Scala plugin in Eclipse. In particular, no useful autocompletion or refactoring.

One big disappointment for me is the lack of support for a JSF component
set. Netbeans used to include the href="https://woodstock.dev.java.net/">Woodstock components, which Sun
unfortunately abandoned. The promise at the time was that Netbeans would switch
to IceFaces, and you can find a conversion guide href="http://www.netbeans.org/kb/docs/web/icefaces-migration-1.html">here.
It uses a plugin which does not seem to be available with NetBeans 6.7.
(Soapbox: I have always felt that there ought to be a high quality, visually
attractive component set as a part of JSF. Can you imagine if Swing had just
specified JComponentand left it to third parties to develop
component sets? Well, that's how it is with JSF, and Sun is now at the mercy of
those third parties.)

If you want to experiment with JSF 2.0, be sure to install Glassfish v3
preview ( href="https://glassfish.dev.java.net/downloads/v3-preview.html">from here;
this is not the same as the prelude version that ships with NetBeans).
Then install Vince Kraemer's nifty Glassfish V3 enabler plugin from the
Netbeans plugins dialog, and point it to your installation. Unfortunately, JSF
editing is disappointing. The facelets plugin doesn't know anything about JSF
2.0. So, it's really no better than Eclipse.

That, in a nutshell, is the problem with this Netbeans release. For a while,
Netbeans was faster and better in supporting new Java EE features. For that
reason, I regularly used it for my web projects. But with both Eclipse and
Netbeans having equally basic support for JSF 2.0, I found myself back in
Eclipse. What would it take for me to change again? Autocompletion in JSF 2.0
pages. A JSF component set with a visual editor. A superior Scala plugin.
Hopefully in Netbeans 6.8.

Comments

While I understand your frustration with JSF tooling (I spent way to many non-productive days trying to make netbeans vwb/creator do usefule stuff), I think JSF is a dying technology. If it's not, someone please point me to it's back so I can take out my frustrations with it by stabbing it repeatedly. :) Like EJB2, it was over designed and over engineered. Unlike EJB2, the world is moving to models where state is stored back in the UI (ajax apps, flex, javafx, etc). After having used most web frameworks (including the abyss which was JSF), being able to keep my client state in the UI was a dream. I hope I never have to code another application with server side state again. Oh yeah, my point....JSF isn't worth netbean's time to get right. :)

Caoyuan: Thanks, I figured it out--I needed to make the settings in the global environment (i.e. /etc/environment), not .bashrc.

Folks can read about the enabler here: http://blogs.sun.com/vkraemer/entry/experimental_features_marker

Hi Cay, For Scala plugin on NetBeans, it's a known issue that happens mostly under Windows OS. Please check the following: 1. SCALA_HOME is set to a fresh installed Scala runtime 2. PATH includes $SCALA_HOME/bin 3. If the build task still complain, try to run "fsc" or "scala" in a command window first. I'll try to fix this issue and release a new version soon.

@pjiricka: The facelets plugin works ok in 6.7, it just doesn't do autocompletion for JSF 2.0. I guess that's not a bug since JSF 2.0 isn't yet supported. I just saw the feature list for JEE support in 6.8 (http://wiki.netbeans.org/JEE6Integration) and look forward to it.

Regarding the Java EE 6 and JSF 2.0 support, the truth is that this really was out of scope for NetBeans 6.7. Which I think is understandable, given the fact that there are no JavaEE 6-compliant servers yet. Many things are happening in this area as we speak, so expect a lot of Java EE 6 features in NetBeans 6.8 Milestone 1. The Facelets 1.1.14 plugin for JSF 1.2 has been updated to work with NetBeans 6.7 (with contribution from both Sun and ICESoft), and is available on the update center. It should just work - if you find any issues, please let us (the NetBeans team) know so we can post a patch.

I share your frustrations Cay. Even Facelets support for JSF 1.2 doesn't work in this and 6.5, especially when your project is a maven project. The least said about JSF 2.0, the better. It's the reason why I've had to switch to JBoss Tools just to have some decent JSF support through their RichFaces VPE. JSF is painful in NetBeans, and coming from Sun, the pundits of JSF, it's such a huge disappointment.

My particular problem is that different books use different styles. I'll want all projects in a book to have a particular style. Your way will work if I first carefully set up a style and then clone it for each project in that book. But if I am not careful and need to change something midstream, it's not so pretty.

"you can't have two project groups with different code formatting conventions." Hmm... it depends on what you mean. Actually it seems you can have formatting convetions on a per-project basis (open the project properties and the "formatting" tab: you'll see "Use project specific options"). Of course this is not sharing the same conventions on a whole group of projects; but you can manually replicate formatting options using the "Load from other project" tab. Considering that formatting options are a reasonably stable thing, this manual approach seems to be viable. Disclaimer: I've not played a lot with this stuff (yet).

@mbien: Oops...I never noticed them until today.

project groups are a NetBeans 6.0 feature ;)

Once you install Vince's GlassFish v3 Enabler plugin, you can install GlassFish v3 Preview from within the Add Server Instance wizard.