Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@jakarta.apache.org Received: (qmail 38927 invoked by uid 500); 11 Jul 2001 02:30:41 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: tomcat-dev@jakarta.apache.org Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 38918 invoked by uid 1059); 11 Jul 2001 02:30:41 -0000 Date: Tue, 10 Jul 2001 19:30:41 -0700 (PDT) From: "Craig R. McClanahan" X-Sender: craigmcc@localhost To: "tomcat (E-mail)" Subject: Re: Probably a simple problem with an equally simple solution... In-Reply-To: <5F935CCBFB73D511BA2000B0D079E11E03B4B8@cyberexch01.internal.evincible.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: localhost 1.6.2 0/1000/N On Mon, 9 Jul 2001, Kedar Hirve wrote: > I was trying to develop my own valve to plug into Catalina, but > running into some problems. I wrote up a little class that implements Valve > and has empty code for getInfo() and invoke(). I put it in its own package > called valvetest, compiled it just fine, put that folder > with the class in it in Catalina's startup classpath, and added a valve > element to my server.xml. > Catalina could find the class when it started, but would give me an > IllegalArgumentException - argument type mismatch for the valve. Finally I > decided to stick the classes into catalina.jar, and it worked. The odd thing > here is that before I jarred it, Catalina found the class just fine, and > even _ran its constructor_. > Though I have one solution for this now (jarring it into > catalina.jar), I'm not terribly satisfied with that. I wanted to know if > there's a more convenient way of adding my custom components without > modifying catalina.jar. > > Thanks, in advance. > -KSH > You should put Valve classes in one of the following two places: - Unpacked under $CATALINA_HOME/server/classes - In a JAR file under $CATALINA_HOME/server/lib The startup processing automatically adds these repositories to the correct class loader, so no mucking around with CLASSPATH is required (or allowed). Craig