In the last two days I’ve created and launched a brand new website aimed at Java developers called WhichJar.com. The site is now live even though the database is pretty empty (I’ve only added a couple dozen Jars so far). I’m working with someone to fill it up with lots of data very soon.
What does WhichJar.com do? For those of you who program in Java, often you run into what I call “Runtime Jar Hell”. Basically what this means is that you set up a project and everything compiles, but suddenly when you try to run it (your J2EE app, Swing app, etc.), you’ll get class not found exceptions. What’s happening is that one of the Jars you added to your project also requires other Jars for it to run (they are only required for runtime, not compile time). It’s very easy to miss these, and all you get back from the runtime engine is the name of the class it can’t find. If you then try to Google it, often all you’ll get is the API, from which you then need to do some sleuthing to actually find the right jar. This is extremely annoying and boring!
One of the newer tools out there that’s supposed to help minimize this is Maven, but that’s also got some issues. And not everyone uses it. So for those of you who get caught in Runtime Jar Hell, I’ve created WhichJar.com. All you do is enter in the fully qualified class name and it will tell you which Jar it belongs to, where to find it (the website and download URL), the version, release date, etc. Instead of spending a lot of time trying to find it online from the API (which is not always obvious), it’s all right there for you in an instant! Click here to see an example result page.
Again, as I’ve said before, the database is pretty empty right now but that’s going to change with time. We’re adding about 100 new Jars a week and I’ve hired an outside source to generate me a much fuller and larger list for the very near future. So hopefully within a month or so it will be full of data and extremely useful.
So please go ahead and try it. It’s very handy and it can save you a lot of time!