Posts tagged 'eclipse'

Maven support in IDEs

Maven Logo

I've been switching around between the Eclipse, Netbeans and IntelliJ IDEs at home and at work. I've found that fiddling around with multiple IDE specific project configurations and launchers and class-paths is no fun at all. That's one of the reasons I got interested in Maven. Yes, Maven is a build-system but it's also a sort of IDE portability solution. Maven projects can be loaded right into all the major Java IDEs as you can see in the screenshots below. IDEs can find your sources, resources, dependencies and via the Maven Jetty plugin even run your Java webapps from the IDE -- things that are not possible if you're using a custom Ant build-script as we were doing before with Roller.

Here some screenshots that show the various Maven IDE plugins and their dependency graph feature.

Roller / Maven Eclipse 3.5 / M2Eclipse

Here's Roller loaded into Eclipse via the Maven M2 Eclipse plugin.

Roller / Maven Eclipse 3.5 / M2Eclipse

By the way, if you want detailed instructions for getting Roller 5 up and running in Eclipse with the Eclipse Web tooling, check-out Harald Wellman's helpful blog on the topic: Setting up Eclipse for Roller.

Roller / Maven in Netbeans 6.8

Here's Roller loaded into Netbeans as a Maven project.

Roller / Maven in Netbeans 6.8

Roller / Maven in IDEA IntelliJ 9.0

And here's Roller loaded into IDEA IntelliJ as a Maven project.

Roller / Maven in IDEA IntelliJ 9.0

I'm not sure which I prefer yet.

Latest Links: August 11, 2009

Netbeans 6.0 pre-beta first impressions

When I saw that Tim Bray upgraded to a Netbeans 6 daily-build and it seemed to work OK, I just had to give it a try myself and I'm glad I did. I've been using it for a solid day now and I can tell that it's going to be a vast improvement over 5.5. It's fast. It starts up way faster than 5.5, seems faster overall and shutdown is almost instantaneous. Bravo! What else?

Tim was impressed by the hip new JRuby support, and I'll give that a try, but right now I'm digging the more routine things, things that I've been missing from Eclipse like multi-file search & replace, local history and a smart editor. The only thing I miss from Eclipse now is this: Netbeans has a nice Ctrl-Shft-O to Go To Type feature and I use it all the time; why can't we have a nice slick Ctrl-Shft-R Go To Resource like Eclipse does?

Anyhow... NB6 is looking good already, so if you're using 5.5, you might want to take the latest milestone Netbeans 6.0 M7 or one of the dailies for a spin.

Eclipse and Netbeans on MacOS

I'm not exactly pleased with the open source Java IDE situation on MacOS. Eclipse 3.0 M8 works and connects to SourceForge CVS/SSH just fine, but it is slow, looks obnoxious, and it just crashed while I was editing a Java source file. I hope that, by the 3.0 release, Eclipse will be usable on MacOS. Next, I tried Netbeans.

Netbeans 3.6 seems fast, fits in with the MacOS GUI, and even recognized the SourceForge CVS/SSH configuration that Eclipse left behind, but... when I attemped to login to CVS, Netbeans showed me a stack-trace. I decided to try using a real cvs client instead of Netbeans built-in implementation. I used Fink to download the cvs command-line client, configured it, and confirmed that it works with SourceForge CVS/SSH by doing an update on the Roller CVS. I configured Netbeans to use the command-line cvs client, but no luck. Netbeans says "Permission denied (publickey,password,keyboard-interactive)." I have CVS_RSH set in my .bash_profile and in Netbeans CVS environment variables... is there some other trick?

Anybody had any luck connecting to SourceForge CVS/SSH with Netbeans on Mac OSX?

My Eclipse Review

I had to do some grueling work on the Roller persistence layer this weekend, the kind that requires lots of searching, replacing, trial-and-error experimenting, testing, and debugging.  I decided to make the job fun by trying something new: Eclipse.  Normally, I use WinCVS and VIM for my development.  Sometimes I use JBuilder when I need to throw together a quick Swing UI or Netbeans when I need to do some debugging.  Here is the story of my first real experience with Eclipse:

To start out, I downoaded the latest Eclipse 2.0.1 release for Windows.  I also downloaded the Solare Eclipse, Jalopy, and Tomcat plugins recommended by Jeff Duska.  The install went smoothly and installing the plugins was easy, I just unzipped them into the Eclipse plugins directory.

CVS integration
Once I got Eclipse up and running, I setup a CVS repository within Eclipse that points to Roller's SourceForce CVS repository.  Even though CVS over SSH is normally a bitch to setup, it worked on the first try with Eclipse.  Next, I used the Checkout-As-Project feature of Eclipse to checkout the Roller sources into a brand new Eclipse project. Generally, I found the CVS UI to be excellent, especially the file and directory diff tools.

Ant integration
The Roller build process uses a lot of code generation and this code generation is driven by XDoclet tasks in an Ant script.  So, I couldn't just point Eclipse at the Roller sources and hit the build button.  I used the Eclipse External Tools feature to setup Eclipse to run Roller's Ant build script.  Again, this feature worked on the first try.  

JUnit integration
I wrote some simple unit tests to test my changes and then did my work.  Once I was done, I found that the Eclipse debugger's Run->Debug... feature allows you to automatically find, run, and debug into JUnit tests.  Again, this feature was amazingly easy to set up.

Tomcat integration and the debugger
Once I finished up my work on the Roller backend, I had to make some corresponding changes in the Roller UI.  I found it very easy to use the Tomcat plugin to launch Tomcat in debug mode to debug my changes. The debugger UI was pretty impressive and very responsive.

Overall, I was very impressed.  Netbeans can do most of things I have described above, but they always seem like a struggle to me.  This was my first time with Eclipse and things just seemed obvious to me.  I hate to say it because Netbeans has served me well and I really like Swing, but Eclipse has a much more streamlined, intuitive, and snappy user interface.  Eclipse is a pleasure to use.

Udell: Eclipse is hot stuff

It's true that SWT is not yet available everywhere. But Eclipse 2.0 works with Windows, Motif, and GTK+ (Gimp Toolkit) 2, and operability on Mac OS X seems imminent. Unlike Swing-based software, Eclipse works immediately with native features such as Windows XP skinning. "Microsoft has lots of programmers and so does Gnome/GTK," Grindstaff says. "So why not leverage that?"
From a very interesting InfoWorld article on Eclipse via Sam Ruby. I prefer Swing, but if the Eclipse SWT approach means that vim could be embedded into the Eclipse IDE then Eclipse will be the IDE for me. I need to download the Eclipse 2.0 beta and take it for a spin.