Wednesday, January 11, 2006

CruiseControl 2.3.1

I've been trying to install CruiseControl 2.3.1 (Continuous Integration Server) on my Debian server. Everytime I try to compile CruiseControl, I keep getting the same error message "java exception NoClassDefFound: com.twmacinta.util.MD5OutputStream".

Google was no help. I went through the source code, but everything looked fine. Fast-md5.jar which contains the com.twmacinta.util.MD5OutputStream class was where it should be. Even checked if the classpath was called correctly. Nothing was wrong.

After several retries, I finally found the source of the problem - manifest.mf. The manifest.mf is used by ANT Build script to build the final cruisecontrol.jar file. The manifest.mf lists all the external libraries to be included in cruisecontrol.jar and it was missing Fast-md5.jar, hence it doesn't make a difference even if you include it in the classpath.

So edited the file to include Fast-md5.jar and everything works fine.

UPDATE: This has been corrected in the CVS repository of cruisecontrol and awaiting release with next version. You can download just that file from the CVS if you aren't keen on editing source code.

2 comments:

pipsqueak said...

isn't there a deb installer with precomiled binaries?

NabeelC said...

There is a deb installer. You can install by apt-get install name. But its an old version. Debian is tested more than other linux distro before upgrading. And I want the latest and greatest.