On Aug 21, 2013, at 5:09 PM, D C <dc12...@gmail.com> wrote: > I added verbose, it does not appear to attempt to load anything from > /web/lib/
Ok. Where do you see it loading classes from? /WEB-INF/lib/*.jar? Do you see any classes listed that you would expect to be loaded from /web/lib? Where are they being loaded from? > for permissions i verified that i could read the files as the tomcat user. Good > Thanks, > Dan > > > On Wed, Aug 21, 2013 at 5:01 PM, Daniel Mikusa <dmik...@gopivotal.com>wrote: > >> 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 >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org