Thursday, June 12, 2008

Server Runtime Problems in Eclipse Ganymede RC2

This post is one of a number of reviews of the upcoming Eclipse Ganymede release. It has been added to the Ganymede Around the World map. Donate and become a Friend of Eclipse!

After such a good start with Ganymede RC2, today was a bad day getting stuff done. I have tried to run various server runtimes, and I am not at all pleased at the current state of affairs with the web tools. Let's start where I left of in my previous post: I was to install Geronimo and see if things on the web tools front were improved. Geronimo comes with lots of cool Apache stuff such as ActiveMQ, so I want to develop using that app server in Eclipse.

Additional server runtimes available for Eclipse

When creating a server, you can opt to download additional runtimes such as GlassFish, Geronimo, WebSphere, etc. I see different versions of Geronimo, but I also see a "core package". I am a bit confused here as to what I am supposed to do. I guess I need both the core package and one of the server versions, so I select both the core package and version 2.1. After specifying a target directory, it downloads the stuff and installs it, or so I thought. Much to my surprise, Geronimo could not be selected as a server yet. It seemed that only the core packages were installed. I had to go through the additional runtime download again, this time only selecting the server. I was now able to add the Geronimo server and decided to add my test web project to it as well while it is prompting me for it. So far so good.

Download and install of Geronimo from within Eclipse

At this stage I want to start the server, but things go wrong from here. It just says that "the server failed to start". There are no additional details in the error log whatsoever. I tried to start Geronimo using bin/gsh geronimo/start-server from within the directory I had selected in Eclipse. This crashes due to some missing dependency. So maybe I did something wrong? Well, after this, I downloaded the minimal Tomcat/ Geronimo 2.1.1, unpacked it and started it without any problem whatsoever using bin/gsh geronimo/start-server. It happily reports "Geronimo Application Server started", so it is most certainly not something I am doing wrong.

Maybe if the download from within Eclipse is somehow incorrect, I can try using that Geronimo I had downloaded myself? Unfortunately no. Creating a server that uses the manually downloaded Geronimo fails, and again it just says that "the server failed to start". No log entries whatsoever. I finally tried to install the plugins manually from Apache's update sites. This informs me that there are all kinds of problems with the dependencies, and I get a feel that this could very well be related with the failure of the server to start. So much for my enthusiastic start with WTP.

Geronimo server failed to start

One problem is that the end user is given the expectation that it can download, install and run additional runtimes automagically. The additional runtimes dialog presents us with a list of available runtimes decorated with their logos. It gives the impression that this is "something that Eclipse can do". The expectation however is far from the reality, and the real issue is obviously with the third party plugins that are downloaded and not so much with WTP.


Some of the server runtime plugins supplied by third parties have problems with (this version of) Eclipse. I was never able to get them to work well or work at all with Europa, and they exhibit problems with this newer Ganymede release as well. So what good is a simultaneous release of the JEE bundle if there is no good support from the third party application servers such as e.g. Geronimo? Why provide fancy options to install stuff that just leads to disaster? What about the willingness and/ or ability of the third party vendor/ community to put effort in getting these plugins to work (in time for the release)? Getting the plugin providers to be part of the simultaneous release is very likely to be a bridge too far.

Trying to get Geronimo to work eventually broke my update manager to the point I had to reinstall Eclipse (clean start didn't help...)

JBoss does not work well either, but this post is getting too long, so I'll go into more details on that in the next one. I've still got many other thoughts on this as well and I intend to add them in a "grand conclusion" of my reviews of Ganymede RC2.

No comments: