Argh! More of Hateful Eclipse

Finally I get everything working…. I’ve got a webapp in Eclipse running with m2eclipse and WTP plugins cooperating, when Eclipse starts failing left and right. I’m using OSX 10.5 and evidently there is a big nasty big in Java-SWT compatibility on the platform. This means that every time I try to search for a class by name (or a resource), Eclipse has a 1 in 3 chance at a critical failure….you know rolling beachball of death sort of thing.

What’s the fix? Installing Ganymede M5 distribution and reinstalled all of my plugins. Lovely, another hour wasted.

After installed the latest m2eclipse from Sonatype, I then realized that there was something wrong with my (alpha install) of Nexus.. One thing led to another, I tried to follow the upgrade instructions I helped write over here, but they are not relevant to a alpha-beta upgrade.

After reinstalling Eclipse, reinstalling Nexus, upgrading my plugins (m2eclipse and subclipse – at least I’m down to two). Then I had a problem with m2eclipse using the embedded installation of Maven. After pointing m2eclipse to my existing installation of Maven, everything works (finally).

Hopefully, I can get some work done today?

Eclipse Frustration #24353

I just spent the last solid workday trying to debug a problem with Eclipse WTP + Tomcat 6.0 + m2eclipse. I’ve solved the problem, but I don’t even know why it works.

Here’s the situation:

  1. I had a set of Maven projects in Eclipse using the m2eclipse plugin
  2. I’m running Nexus Beta 1 locally to proxy Maven repositories
  3. I had gone into the .classpath, .project, and .settings of my WAR project to manually add the WTP configuration.
  4. I had configured a server and deployed it to a WTP-managed Tomcat 6.0 server in Eclipse
  5. One of the web projects depended on spring-beans-2.5.jar

Great, so I start up Tomcat and the server proceeds to continuously reload my web application. Over and over again complaining that a new JAR had been added spring-beans-2.5.jar. While the ability to hot deploy a web application in Tomcat can come in handy, doing it continuously just means that you’ll have zero availability, and thanks to a perfect storm of logging library insanity, hot deploying a webapp to Tomcat usually just eats up your PermGen space.

So, here I was stuck with a Tomcat instance that was trying to continuously deploy a web application because “A new JAR was added ‘spring-beans-2.5.jar’ every 10 seconds. Googling, the general consensus was that Tomcat will exhibit this behavior when you have a JAR library that has a timestamp “in the future”…. I kept on looking for files with timestamps in the future but I could find none.

I spent:

  • 4 hours trying to debug the WTP Tomcat Server.
  • 4 hours trying to manually edit settings in the hidden WTP plugin tomcat files.
  • 4 hours trying to move to the Run Jetty Run plugin

Then, in a fit of clarity, I decided to listen to the error message. The WTP-managed Tomcat server was complaining about spring-beans-2.5.jar, maybe upgrading to the Spring 2.5.1 dependencies would fix the problem. It did, but I still can’t figure out why the initial error was happening.

In the end, this was 12 hours spent debugging technology and not working on customer requirements. And, I still can’t tell you why it happened. Engineering software is an exercise in continuous frustration.