Tuesday Jan 10, 2012

Looks like I'll be waiting for Netbeans 7.1.1

jVi Home Page: NetBeans 7.1 Bug 205835 can lose edits; a variety of jVi commands run into this. jVi-1.4.5 disables itself if it detects module versions with the bug, AFAICT. The bug is scheduled to be fixed in NB-7.1.1; sometime around January/February.

Seriously, how can you ship without vi?

Tuesday Mar 23, 2010

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.

Tuesday Nov 25, 2008

Sun should give up on the desktop?

Tim Bray: What Sun should do: Sun is going through a lousy spell right now. Well, so is the world’s economy in general and the IT business in particular, but this is about Sun. This is my opinion about what my employer should do about it.

It takes a lot of guts to write a piece like that and I'm really glad Tim did it. I'm going to walk out on the same limb and agree with pretty much everything Tim wrote. Tim wants Sun to focus like a laser on providing the best web platform around with Solaris, storage offerings, Java/Hotspot, Glassfish, MySQL and Netbeans for Java, Ruby, PHP, Groovy, etc. tooling. He writes:

It’s easy to understand how our servers, CMT and x86, and the Solaris OS, fit into the Web Suite. All the software, including the HotSpot, GlassFish, and MySQL runtimes, needs to be obsessively tuned and optimized to run best in the context of the Suite. Obviously, the Suite will also include Ruby and Python and PHP runtimes, similarly tuned.

All of Sun’s software tooling should have a laser focus on usability, performance, and ease of adoption for the Web Suite.

I agree, but as a web geek I guess I'm pretty biased.

Tim doesn't shy away from the critical question of what Sun should stop doing. Tim says Sun should give up on the client-side, dropping JavaFX and JavaME (and OpenOffice too, I presume). Here's Tim on JavaFX:

For actual business apps, the kind that our servers spend most of their time running, the war for the desktop is over and the Web Browser won. I just totally don’t believe that any combination of Flash and Silverlight and JavaFX is going to win it back.

I can't say I disagree with that either. Cutting JavaFX and JavaME would be extremely tough and painful decisions, but somebody's going to make to make some of those. Looking at things from Tim's web-platform-only point of view, they make sense. Sun needs only enough client-side software to keep Solaris attractive to developers and to support great development tools on all the platforms that web developers love.

Tuesday Jul 08, 2008

Latest Links

Wednesday Nov 28, 2007

PHP support in Netbeans

Hadn't heard about this one until today, but Netbeans 6.1 will have plugin support for creating, editing, deploying to Apache HTTPD, running and even debugging PHP projects. Check out the details and screenshots on the Phantom Reference blog.

Here's a sceenshot from the Netbeans Wiki page on PHP:

screenshot of PHP in NB editor

Groovy support back in Netbeans

After going missing in NB 5.5, Groovy support is back in Netbeans. Basic Groovy support with syntax coloring and support for running scripts from the IDE is available in plugin form (download page) for Netbeans 6.0 (starting with RC2), read about it on Geertjan's blog.

Here's what's coming after Netbeans 6.0, Groovy project support: screenshot of Groovy NB project types

After Netbeans 6.0, the story gets better. Geertjan writes that a brand new Groovy plugin will be available in the post-6.0 builds that adds support for three types of Groovy projects: applications, class libraries and Grails webapps.

Wednesday Aug 01, 2007

Finally... "go to file" in Netbeans

I've been waiting years for this one. As Roumen Strobl points out, the Netbeans 6.0 nightly builds finally include a "go to file" feature, much like CTRL-SHIFT-R in Eclipse (but in Netbeans 6.0 it's CTRL-SHIFT-O).

I'm diggin' 6.0 and it's starting to look pretty stable in advance of beta1, which is coming out this month. Grab a nightly build and check it out. According to Tor on the Java Posse the nightly builds are likely to be more stable than the most recent M10 milestone release.

Monday May 21, 2007

Basic Groovy, for Netbeans 6.0

Speaking of open source projects that need help, there's Coyote, which promised to bring scripting support to Netbeans and did so for Netbeans 5.0. Since then, the project has been pretty stagnant. JRuby's getting all the attention these days.

Geertjan is doing his best to jump-start Groovy support in Netbeans, but it's not really his job. He's gone beyond the call of duty and it looks like he's got something pretty functional going, which is very nice. I've been doing some Groovy scripting lately, so I'll try it out. It would be cool if the Groovy project itself had time to help out, or even take over, but they're probably pretty busy too.

Tuesday Apr 03, 2007

Geertjan's blog

I've really been enjoying Geertjan's blog recently. Lots of interesting details, screenshots and his passion for his work really comes through. His posts on the Netbeans Schliemann generic languages framework and today's Capturing Matisse make me want to drop everything and start hacking Netbeans. And I'm especially happy to see that somebody is interesting in Breathing Life Back into a Dead Coyote (part 1 and part 2), which is currently the main vehicle for Groovy language support in Netbeans -- I'd hate to see Groovy dropped in the mad rush to Ruby.

Wednesday Feb 28, 2007

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.

Wednesday Dec 06, 2006

Visual Web Pack is NOT for you if...

Roumen: Visual tools for web development are a double-edged sword. They have their advantages and disadvantages. Some users love Visual Web Pack for what it provides but some of them go crazy because by using visual tools they lose a bit of control or they don't fit their development environment. So I'd like to discuss this topic, so that you can decide whether Visual Web Pack is for you or it is not.

A very thoughtful and balanced post from Netbeans evangelist Roumen Strobl that examines some of the reasons you might or might not want to use the new Netbeans Visual Web Pack.

Tuesday Oct 31, 2006

Netbeans 5.5 themed Roller blog

You've already heard the news about the Netbeans 5.5 release yesterday, so I won't bore you with that. Instead, check out the new Netbeans 5.5 theme on the Netbeans Profiler blog at JRoller.com. Very nicely done. And it scales too, Watt will like that.

Wednesday Sep 06, 2006

JBoss Netbeans IDE and Netbeans 5.5 beta 2

Via Roumen, the JBoss Netbeans IDE is available with support for EJB3/JPA. The announcement is on the JBoss site, downloads are on the Netbeans site.

So now there are two easy ways to get started with EJB3/JPA and both are based on Netbeans: 1) JBoss Netbeans IDE and 2) Netbeans 5.5 plus the Enterprise Pack, which includes Glassfish/Sun Java App Server. Currently, both IDEs are based on Netbeans 5.5 beta 2 but don't let that scare you away.

I've been using Netbeans 5.5 beta 2 on my Solaris box for a week or so now and it's quite stable. On my Mac, not so much -- beta 2 worked fine until I installed the Enterprise Pack and then I started to get all sorts of slow downs and very strange repaint problems in the tree-view. I upgraded to a Q-Build (the 20060818 one) and now it's quite usable -- still a little sluggish but then again everything seems sluggish on my Powerbook these days.

Wednesday May 24, 2006

Netbeans 5.5 (beta) and other new software


Netbeans logoAfter I got back from JavaOne, I loaded up on all of the cool new software I saw in action at the conference, including:
I installed all of this stuff and I've been using Netbeans 5.5 with Subversion support all week. On my Solaris/x64 box, Netbeans 5.5 seems very stable. The Subversion client is a little flakey, as is to be expected for pre-release software, but it's been really holding its own during some refactoring and package renaming work I've had to do this week.

So, if you're itching for Subversion support in Netbeans, give the 5.5 beta a try and help the Netbeans guys out providing feedback on the mailing lists and issue tracker.

The JavaOne general session demos last week (e.g. the build-a-blog-server in 5 minute demo) seemed to show an extremely fast build-deploy-test loop. So next, I'm going to try to switch to SJAS9 + Derby for development and debugging and see how it compares to working with Tomcat / MySQL. Last time I tried SJAS (version 8) for development, I found it to be a little too heavy for my tastes.

Friday Jan 20, 2006

Project Teepee: better Subversion support for Netbeans


Project Teepee. Great news. I love the new CVS client in Netbeans 5 and now Subversion is getting the same treatment, possibly as soon as May. Via Roumen.

Tuesday Jun 14, 2005

Better CVS integration for Netbeans on the way

Preview version of the new NetBeans CVS Support now available!: The NetBeans team is proud to announce a preview (alpha) version of the new redesigned CVS support, an innovative approach to integration of a Version Control System (VCS) into the NetBeans Integrated Development Environment (IDE). The new module provides a simple, efficient IDE versioning workflow and intelligent support for common versioning operations.

The module is not derived from the current NetBeans VCS support, but instead is meant as a lightweight approach with less focus on architectural abstraction and much more attention to User Interface (UI) functionality.

CVS integration is the one thing that keeps pulling me back to Eclipse, so I'm really glad to hear the VCS subsystem is being re-worked (maybe 'replaced' is more accurate). Check out the screenshots, looks like good stuff. I hope better Subversion support is not far behind.

Via Roman Strobl and John Jullion-Ceccarelli

Wednesday Sep 22, 2004

Revisiting Netbeans

Eclipse was the first IDE that was powerful enough to pull me away from good old trusty and ubiquitous vi. I had worked on a couple IDE projects, including Object Factory at Rogue Wave and HAHTsite at HAHT, and I had tried almost every Java IDE in existance, but I couldn't find an IDE that could tempt me away from vi. But, when I tried Eclipse in 2002 I was sold. What did I like about Eclipse at that time? Take a look at a My Eclipse Review to read my review of Eclipse from September 2002.

After seeing lots of cool demos of Java Studio Creator at JavaOne, hearing about Netbeans 4.0 release, and remembering to eat the dogfood, I decided that I had to take another look at Netbeans. I downloaded the Netbeans 4.0 demo over the weekend and I've been working with it all week. If you've used Netbeans before, you will notice some drastic changes. The Netbeans UI is much more clean, simple, and easy to use. Gone is the clunky filesystem mounting stuff and the complex options dialog is much more streamlined and easy to grok.

Here is a screenshot of Netbeans 4.0b1 showing the Versioning view: Netbeans 4.0.b1

There are still some shortcomings that will keep me going back to Eclipse, but there are also some areas where Netbeans seems to outshine Eclipse. Here are some of the things that impressed me:

  • Speed of startup and general responsiveness: 'nuff said. IDEA IntelliJ (and others) have proven that Swing Apps don't have to be slow (and ugly), now Netbeans proves that point as well.
  • Ant integration: Netbeans will read your existing Ant file and use it to drive your project. If you are starting a new project, Netbeans provides new Ant build file for you, loaded with userful targets.
  • J2EE server integration: J2EE server startup, shutdown, and debugging for Tomcat (and the Sun app server) is incuded. I had to buy MyEclipse to get this in Eclipse. The integrated UI also allows you to start and stop individual web applications within the server.
  • CVS improvements: CVS setup has been much improved and is now easy and trouble free. The new Version Control view of the filesystem is nice. Each file can be expanded to show previous versions and commit comments (see screenshot above).
  • Built-in JSP editor: Netbeans also includes built in JSP editor with syntax coloring and code completion (another MyEclipse extra I paid for).

And here are the things that will keep me going back to Eclipse:

  • CVS icon labels and decorations: the CVS icon labels and decorations in Eclipse make it really easy to see which folders contain files and folders (recursively) that have been modified.
  • CVS synchronization: The CVS synchronization view in Eclipse is great. It makes it amazingly easy to review incoming and outgoing changes, to select files for merge, to override and update, or to override and commit on files or groups of files.
  • More refactoring options: Netbeans just added support for refactoring, but it has been built into Eclipse for quite a while an Eclipse has more refactoring options by far.
  • Organize imports: Eclipse organizes your imports with one easy click. I think the "Fix Imports" feature is broken in Netbeans 4.0b3, but I'm not sure.

It is cool to see such great improvements in Netbeans and it is great to have so many excellent Java IDE options. I've also spent some time recently with Visual Studio C#.Net and I'm here to tell you, Microsoft has some major catch-up work to do. The current crop of Java IDEs blow Visual Studio away.

Saturday Apr 24, 2004

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?

Sunday Sep 15, 2002

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:

Installation
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.

Saturday Aug 17, 2002

18 new Netbeans modules

eWeek reports that Sun will be adding 18 new modules to the open source Netbeans IDE. I wonder what they are doing for Struts support.

Among the 18 new modules is one that features support for Java Data Objects, which is a Java technology for mapping entities in relational databases to Java objects. Another is a module for Java 3D support. And a third is support for the Apache Struts framework, which is a technology built on top of JavaServer Pages that enhances productivity for Web application developers, the company said. Other modules include a Support Interface Module, a BugSubmitter module, an audit module for defining best practices, a metrics module for analyzing source code, and an XTest module for providing performance and API compatibility tests.