Home
Resumes
Contact Info
Articles
Protocol
The Flexibility Mantra
Thingie.doSomething
Stupid Computers
Welcome To Jar Hell
Roman Architecture
The Layered Look
The Death Of MVC
Finally A Groovy Idea
Quotes
Charities
 


Welcome To Jar Hell


2008/03/25 I can truly empathize with this poor, frustrated soul:



Hibernate problem:  org.hibernate.tool.ant.HibernateToolTask cannot be found

Zone: Eclipse 

Tags: Java

Experts:


This is a tutorial, for crying out loud.  I'm trying to build the HelloWorld project in Eclipse using Hibernate Tools.  I've downloaded the HibernateTools-3.2.0.GA.zip file, put the plugins and the features in the appropriate folders under the Eclipse folder and copied the hibernate-tools.jar just about everywhere.  I can point to the jar all day long but I can't find the directory structure (org\hibernate\tool\ant\HibernateToolTask) where the classes should be found.  org should be under a src folder, shouldn't it?


OK.  I give.  I know it's late and I'm tired.  I just can't think any more.  Can somebody help me find the .java class files? or what I'm supposed to download and unzip to get the appropriate directory structure?


Thank you in advance,

Feeling pretty dumb right now



For those of you who don't know, a "jar" is a collection of objects (called classes) that are bundled together into one file, so that programmers can easily point to the objects from their (the programmer's) code, and easily move them as a group, to another location in the computer. As an analogy, think of it as a glass jar, with a bunch of useful, related objects in it.


Over the years, I have learned to work around these "jar hell" problems, but this programmer exemplifies one of the essential points in Alan Cooper's book, "The Inmates Are Running The Asylum": Software should not make us feel dumb. If it does, it's probably not the user's fault. If it's anyone's fault, it's the software author's.  "Jar hell" used to make me feel dumb, until I one day realized that it is caused by an almost complete lack of standardization in the open-source community. 


I'm not yet sure what can be done about it, since it is almost a natural by-product of the freedom and popularity of open-source. Until the government or somebody really big steps in and sets the standard, I guess we'll all just have to live in it....but then maybe "jar hell" is still a lesser evil than "government-standardized hell". :-)




Update: It is 2009 now, and here again, in one of the "state-of-the-art" frameworks (Hibernate) I see that jar hell is still alive and well:


Example of "jar hell" in a recent Hibernate forum thread.  Note that this error came from the first pages of a NEW (2009) Hibernate book, which claimed to offer $100  reward if any of its code examples would not compile or run. The book did not show the need for ANY of the jars causing the runtime error.  On th contrary, it claimed that only three jars were needed, but with only these three on the classpath, a different but more obvious error appears.


I'm not blaming the book author. I just wanted to point out how systemic is the "jar hell" problem in the world of software engineering.


The good news is that the solution posted on the forum solved the problem. (Thank goodness for google.) The bad news is that the software engineers who learned of the solution on the forum seemed quite content to have found the "solution" to yet another jar hell problem.  That scares me.





Copyright 2009© East Ridge Software, LLC. All rights reserved.