27 July 2005

Inconsistency on Acegi's Reference Guide

Quoting the intstruction from Acegi Reference Guide, this is what it tells.

"1.11.3. Catalina (Tomcat) Installation

The following was tested with Jakarta Tomcat 4.1.30 and 5.0.19.

$CATALINA_HOME refers to the root of your Catalina (Tomcat) installation.

Edit your $CATALINA_HOME/conf/server.xml file so the section contains only one active entry. An example realm entry:

appContextLocation="conf/acegisecurity.xml"
key="my_password" />

Be sure to remove any other entry from your section.

Copy acegisecurity.xml into $CATALINA_HOME/conf.

Copy acegi-security-catalina-XX.jar into $CATALINA_HOME/server/lib.

Copy the following files into $CATALINA_HOME/common/lib:

*

aopalliance.jar
*

spring.jar
*

commons-codec.jar
*

burlap.jar
*

hessian.jar

None of the above JAR files (or acegi-security-XX.jar) should be in your application's WEB-INF/lib. The realm name indicated in your web.xml does not matter with Catalina."


But building the "Contacts" example and following their Maven(which really^1000000 sucks) build instructions will give a most likely erroneous war file that will cause "IncompatibleClassChangeError, IllegalStateException: No WebApplicationContext found" etc. etc., which leaves the hapless developer gasping for breathe where to go, and most likely be shooed away in the forums to just READ THE FUCKING MANUALS(what manuals?!?). While the cause of these problems are just overlapping of jar files from the common classloaders and webapp classloaders.

So here's my take, don't follow the freaking instructions above and you have a higher chance of making things work. I successfully did it on GlassFish.

Hey Spring/Acegi guys, you made a good job creating this hype, but why can't you agree on what's the right thing to do?

1 comment:

Alex Dusty said...

I agree the acegi documentation is real crap.