struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kris Schneider <k...@dotech.com>
Subject Re: Classloading problem
Date Tue, 31 Aug 2004 20:12:16 GMT
Hang on, my bad - it should be /META-INF/context.xml. So, rename Foo.xml to be
context.xml and place it in *META-INF*.

Quoting Erik Weber <erikweber@mindspring.com>:

> Kris, this is from context.html in the Tomcat 5 docs:*
> 
> Please note that for tomcat 5.x, unlike tomcat 4.x, it is NOT 
> recommended to place <Context> elements directly in the server.xml 
> file.* Instead, put them in the META-INF/context.xml directory of your 
> WAR file or the conf directory as described above.
> 
> So here I am, stupidly trying to put my Foo.xml file within 
> /META-INF/context.xml/ (and various variations of that) of my web app.
> 
> So should I rename Foo.xml to context.xml (I ask because in the conf 
> directory I have been naming it Foo.xml, not context.xml), and put it in 
> *WEB-INF*?
> 
> Could you show me where you found how to do this in the docs? Am I just 
> completely misreading the above sentence?
> 
> Thanks for your help,
> Erik
> 
> 
> Kris Schneider wrote:
> 
> >Can you provide some more detail on the problems you're running into with
> using
> >WEB-INF? I've got a simple one lying around here somewhere...
> >
> >WEB-INF/context.xml:
> >--------------------
> ><Context path="/init">
> >    <Loader delegate="false"/>
> >    <Manager pathname=""/>
> ></Context>
> >
> >Seems to work fine with TC 5...
> >
> >Quoting Erik Weber <erikweber@mindspring.com>:
> >
> >  
> >
> >>Also, since you appear to be trying to follow the documenation, have you 
> >>ever gotten a Context XML file placed within the META-INF directory of 
> >>your web app to work? I can't get this to work (I have gotten them to 
> >>work when placed in the conf directory -- though I had to learn the hard 
> >>way to take write permissions away from Tomcat after it very rudely 
> >>deleted one). The documentation is confusing, and the example web app 
> >>mysteriously does not include a Context XML file at all, despite that 
> >>pretty much any serious web app is going to need one (unless you declare 
> >>everything in server.xml).
> >>
> >>If you have an example of this working, please share it with me.
> >>
> >>Erik
> >>
> >>
> >>Ivan Vasquez wrote:
> >>
> >>    
> >>
> >>>Sure, in common/lib it works well. But from Tomcat docs:
> >>>http://jakarta.apache.org/tomcat/tomcat-5.0-doc/class-loader-howto.html
> >>>
> >>>The following rules cover about 95% of the decisions that application
> >>>developers and deployers must make about where to place class and
> >>>resource files to make them available to web applications:
> >>>
> >>>       * For classes and resources specific to a particular web
> >>>application, place unpacked classes and resources under /WEB-INF/classes
> >>>of your web application archive, or place JAR files containing those
> >>>classes and resources under /WEB-INF/lib of your web application
> >>>archive.
> >>>       * For classes and resources that must be shared across all web
> >>>applications, place unpacked classes and resources under
> >>>$CATALINA_BASE/shared/classes, or place JAR files containing those
> >>>classes and resources under $CATALINA_BASE/shared/lib.
> >>>
> >>>--Then goes on...---
> >>>
> >>>Common - This class loader contains additional classes that are made
> >>>visible to both Tomcat internal classes and to all web applications.
> >>>Normally, application classes should NOT  be placed here. All unpacked
> >>>classes and resources in $CATALINA_HOME/common/classes, as well as
> >>>classes and resources in JAR files under the
> >>>$CATALINA_HOME/commons/endorsed and $CATALINA_HOME/common/lib
> >>>directories, are made visible through this class loader.
> >>>
> >>>Shared - This class loader is the place to put classes and resources
> >>>that you wish to share across ALL  web applications (unless Tomcat
> >>>internal classes also need access, in which case you should put them in
> >>>the Common  class loader instead). All unpacked classes and resources in
> >>>$CATALINA_BASE/shared/classes, as well as classes and resources in JAR
> >>>files under $CATALINA_BASE/shared/lib, are made visible through this
> >>>class loader.
> >>>
> >>>----
> >>>
> >>>In our case we want to share jars common to all applications, but none
> >>>of them are required by Tomcat.
> >>>
> >>>Ivan.
> >>>
> >>>-----Original Message-----
> >>>From: Erik Weber [mailto:erikweber@mindspring.com] 
> >>>Sent: Tuesday, August 31, 2004 12:52 PM
> >>>To: Struts Users Mailing List
> >>>Subject: Re: Classloading problem
> >>>
> >>>I have been using 5.0.27, putting my JDBC drivers in common/lib, and my 
> >>>struts jars in WEB-INF/lib of each application, and haven't had any 
> >>>problems. Why do you say "incorrectly"?
> >>>
> >>>Erik
> >>>
> >>>
> >>>Ivan Vasquez wrote:
> >>>
> >>> 
> >>>
> >>>      
> >>>
> >>>>We have Tomcat 5.0.16 and were incorrectly placing common jars (such
as
> >>>>JDBC drivers) in /common/lib. 
> >>>>
> >>>>Now we just moved them to /shared/lib (for truly common stuff) and
> >>>>WEB-INF/lib, but now all applications complain giving a
> >>>>java.lang.ClassNotFoundException, just like if things weren't in
> >>>>Tomcat's classpath anymore. Apps and Tomcat restarts have been done
> >>>>several times.
> >>>>
> >>>>Is there anything in web.xml, server.xml, etc that needs to be set?
> >>>>   
> >>>>
> >>>>        
> >>>>
> >>>What
> >>> 
> >>>
> >>>      
> >>>
> >>>>are we possibly missing? Tomcat docs are pretty straightforward about
> >>>>   
> >>>>
> >>>>        
> >>>>
> >>>it
> >>> 
> >>>
> >>>      
> >>>
> >>>>and everything seems right.
> >>>>
> >>>>Once again, thanks in advance.
> >>>>Ivan.

-- 
Kris Schneider <mailto:kris@dotech.com>
D.O.Tech       <http://www.dotech.com/>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message