On 17/11/2014 22:52, Ed Rouse wrote: > I have 2 different issues setting up a DirResourceSet. I have an > external war file I am trying to merge into the Root of my > application. I have a custom root that extends StandardRoot. > > > 1. DirResourceSet drs = new DirResourceSet(wsRoot, > "/WEB-INF/classes/", possible.getAbsolutePath() + "/classes/", "/"); > > This only seems to give me the top level directory of the classes > directory as indicated by drs.listWebAppPaths("/WEB-INF/classes/"). > Is there a way to get it to be recursive or is it just that the > listWebAppPaths doesn't show it even though it actually does it?
A DirResourceSet will include all resources recursively under the directory that is defined as the "top" of the resource set. I'm not sure if it really matters (I'd need to to back and review the code carefully) but I'd remove the trailing slashes from those directories. i.e. the above would be: DirResourceSet(wsRoot, "/WEB-INF/classes", possible.getAbsolutePath() + "/classes", "/"); > 2. The reason I can't check the first is because this one gives > me an exception. > > DirResourceSet drs = new DirResourceSet(wsRoot, "/" + > possible.getName(), possible.getAbsolutePath(), "/" + > possible.getName()); That doesn't look right. I'd expect the internalPath for a DirResourceSet to always be "/". internalPath is really intended for JAR files where the resources you want to include might not be located at the root of the JAR. Something to consider is removing that parameter from the DirResourceSet constructor and other constructors where it is unlikely to be needed. Mark It looks like the one that seems to work but I > get a: > > SEVERE [localhost-startStop-1] null.null Error setting up class path > > java.lang.IllegalStateException: > org.apache.catalina.LifecycleException: Failed to initialize > component [org.apache.catalina.webresources.DirResourceSet@6a38848c] > > at > org.apache.catalina.webresources.DirResourceSet.<init>(DirResourceSet.java:83) > > I have tried to follow through the source but keep getting lost. > Line 83 is when it calls Start on StandardRoot. Is it because it was > already started by the first call? But then how would you add in > multiple resources? > > > > I would like to step through it in debug mode, but the test server is > remote and I don't know how to set up remote debugging. And it's > remote due to other required resources that are not able to run > locally. > > > > Thanks for the help. > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org