You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Mark Ebbert <Ma...@hci.utah.edu> on 2008/11/22 02:26:08 UTC

Why did he copy everything in "server/lib" to "common/lib?"

Hi,

I have inherited a project from someone (who is no longer around). I  
am also fairly new to web-applications. While trying to become  
familiar with tomcat 5.5 and the application that I inherited, I  
learned that the previous developer copied everything in "server/lib"  
to "common/lib." I also learned that the application did not function  
properly unless I did the same (error: NoClassDefFoundError: org/ 
apache/catalina/realm/RealmBase). When reading the documentation on  
the tomcat 5.5 class loader page (http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html 
), I learned that everything in "server/lib" is meant for Tomcat (and  
only Tomcat -- I think). Can anyone straighten me out? Why would he  
copy these jars over? And if the application is dependent on them, I  
would imagine other people's application would be too, but the jars  
are not available to the applications.

Any advice is appreciated.

Mark T. W. Ebbert

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Why did he copy everything in "server/lib" to "common/lib?"

Posted by Bill Barker <wb...@wilshire.com>.
"Mark Ebbert" <Ma...@hci.utah.edu> wrote in message 
news:8D97D439-770B-422C-8B76-318020657386@hci.utah.edu...
> Hi,
>
> I have inherited a project from someone (who is no longer around). I  am 
> also fairly new to web-applications. While trying to become  familiar with 
> tomcat 5.5 and the application that I inherited, I  learned that the 
> previous developer copied everything in "server/lib"  to "common/lib." I 
> also learned that the application did not function  properly unless I did 
> the same (error: NoClassDefFoundError: org/ 
> apache/catalina/realm/RealmBase). When reading the documentation on  the 
> tomcat 5.5 class loader page 
> (http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html ), I 
> learned that everything in "server/lib" is meant for Tomcat (and  only 
> Tomcat -- I think). Can anyone straighten me out? Why would he  copy these 
> jars over? And if the application is dependent on them, I  would imagine 
> other people's application would be too, but the jars  are not available 
> to the applications.
>

It is likely that he has a custom Tomcat component (e.g. a custom Realm) 
that he also want visable to webapp code.  With a little bit more work, it 
probably wouldn't be hard to stick to the TC 5.5 hierarchy (e.g. an 
interface and a class containing a ThreadLocal in common/lib, and the Realm 
implementing the interface and a Valve in server/lib to make the 
connections).  However in its default configuration, TC 6 has a similar 
classloader hierachy to the one that you have (it uses restrictive 
SecurityManager restriction to protect TC classes, and says "don't care" if 
you're not using a SecurityManager).

> Any advice is appreciated.
>
> Mark T. W. Ebbert
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
> 




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org