I don't program much these days any more, but due to a not very important reason, I wanted to do a little something with Java Server Faces. Being a sysadmin by day, I thought that setting up such an environment would be easy-peasy, as long as I stick to the default packages, I'd get an environment that would be more than sufficient for my modest needs. Basically, my idea was that
aptitude install tomcat6 libjsf-impl-java
on a base Debian squeeze would do it. I mean change a config file left and right, drop the webapp in
Well, apparently, it's not that easy. I took this as test web application, as it looked extremely simple. I immediately got greeted with a ClassNotFoundException on com.sun.faces.config.ConfigureListener. That seems to be one of the core JSF classes. No problem right? Just a classpath problem right? Well, I do remember that could get quite complicated. To make a long story short. The JSF jars are in
Well, let's try adding a few symbolic links to the web applications WEB-INF/lib part... namely jsf-impl.jar and jsf-api.jar. Nope... Then I read something that can't do that but need to copy the jars to make it work. I do so. It still doesn't work, but the ClassNotFoundException is gone (replaced by another one). WTF?!? Java doesn't work with symlinks?
It's pretty much at that point that I decided to write this, because despite all my Googling, I found no references on how to do this (using default packages on Debian). All instructions basically are quite Windows centric, instruct you to download software here and there tell you to copy jars nilly willy, which would be okay if they explained why. I don't like "just do this" instructions.
I'm a big fan of the central repositories, but unless I have a blonde moment, server-side Java doesn't play nice at all...
So, is there anyone who ever tried using just the packages and have it work?