On Aug 21, 2013, at 4:48 PM, D C <dc12...@gmail.com> wrote:

> So here is what I'm trying to achieve.
> 
> 1. The tomcat install remains clean.  I want to be able to change the
> tomcat installation without messing with the app.
> 2. We want our applications to be decoupled from the libraries which it
> needs.  ( i understand the pains you are referring to..  this was a bit of
> debate, but this is what we want to do).
> 3. We want our engineering team to manage libs via RPM, not the developers.
> 
> tomcat is installed like so via RPM.
> /opt/tomcat-6.0.35
> /opt/tomcat-7.0.39
> /opt/tomcat-7.0.40
> /tomcat symlinks to which ever  /opt/tomcat-7.0.40
> 
> Context entries go in /tomcat/conf/Catalina/localhost/myApp.xml
> 
> /web/webapps - holds our webapps.  This much works perfectly.
> /web/conf/myApp - holds our application configs.
> /web/lib - holds any libs that are not part of the base tomcat
> installation.  This is managed by rpm.
> 
> If unpack a war file, and it has contents inside WEB_INF/lib,  we will
> consider that a broken build.
> 
> 
> Everything works, except that my libs are not loading..  I had thought that
> I could add /web/lib,/web/lib/*.jar to the common.loader.  Am I mistaken by
> this?

You can certainly add entries to common.loader and yours looks OK.  

Assuming the paths exist and permissions on those paths are correct, I'd 
suggest adding the "-verbose" JVM argument to your bin/setenv.sh file.  This 
will show you the location of classes that are being loaded.  Perhaps it is 
loading classes from those locations and there is some other reason you are 
getting the ClassNotFoundException.

Dan

> 
> 
> 
> 
> 
> 
> Thanks,
> Dan
> 
> 
> On Wed, Aug 21, 2013 at 4:27 PM, Daniel Mikusa <dmik...@gopivotal.com>wrote:
> 
>> On Aug 21, 2013, at 4:09 PM, David kerber <dcker...@verizon.net> wrote:
>> 
>>> Basically you're trying to defeat the way the system is designed to
>> work.  Don't do that…
>> 
>> +1 Don't do what you've described unless you have a very good reason.  It
>> will cause you many headaches.
>> 
>> Keep all of your JAR files in "WEB-INF/lib", with the exception of JDBC
>> drivers.  Put those in "$CATALINA_BASE/lib".
>> 
>> Dan
>> 
>>> 
>>> 
>>> On 8/21/2013 3:58 PM, D C wrote:
>>>> Tomcat 7.0.40
>>>> CentOS 6.3
>>>> Java 1.7.0_21
>>>> 
>>>> 
>>>> I am trying to move all libraries out of my webapps directory, and into
>> a
>>>> common place.
>>>> 
>>>> I have my libs that were bundled with tomcat in /tomcat/lib (the
>> default),
>>>> and my extra libs i want to keep in /web/lib.
>>>> 
>>>> I've updated /tomcat/conf/catalina.properties to use the following:
>>>> 
>> common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,/web/lib,/web/lib/*.jar
>>>> 
>>>> I have my database resource located in
>>>> /tomcat/conf/Catalina/localhost/myApp.xml  (probably not relevant)
>>>> 
>>>> When I start tomcat, I get the errors listed below.  However if I move
>>>> /web/lib/*  to webapps/myApp/WEB_INF/lib/  it works fine.
>>>> 
>>>> What am I missing here?
>>>> 
>>>> 
>>>> catalina.out snip.
>>>> SEVERE: ContainerBase.addChild: start:
>>>> org.apache.catalina.LifecycleException: Failed to start component
>>>> 
>> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myApp]]
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
>>>>        at
>>>> 
>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
>>>>        at
>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
>>>>        at
>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
>>>>        at
>>>> 
>> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:657)
>>>>        at
>>>> 
>> org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1636)
>>>>        at
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>>>>        at
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>>>>        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>>>>        at
>>>> 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>        at
>>>> 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>        at java.lang.Thread.run(Thread.java:722)
>>>> Caused by: java.lang.NoClassDefFoundError:
>>>> org/springframework/core/io/Resource
>>>>        at java.lang.Class.getDeclaredFields0(Native Method)
>>>>        at java.lang.Class.privateGetDeclaredFields(Class.java:2317)
>>>>        at java.lang.Class.getDeclaredFields(Class.java:1762)
>>>>        at
>>>> 
>> org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
>>>>        at
>>>> 
>> org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
>>>>        at
>>>> 
>> org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:90)
>>>>        at
>>>> 
>> org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
>>>>        at
>>>> 
>> org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
>>>>        at
>>>> 
>> org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
>>>>        at
>>>> 
>> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
>>>>        at
>>>> 
>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>>>        at
>>>> 
>> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>>>>        at
>>>> 
>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269)
>>>>        at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>>>>        ... 11 more
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> org.springframework.core.io.Resource
>>>>        at
>>>> 
>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
>>>>        at
>>>> 
>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
>>>>        ... 25 more
>>>> 
>>>> 
>>>> 
>>>> Thanks,
>>>> Dan
>>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to