Ok, I can see handling it via a separate web container classloader. However, please be aware that NO classloader is handling it currently, i.e. use of Wars with classes under WEB-INF/classes does not work at all.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Scott M Stark Sent: Tuesday, February 12, 2002 5:35 PM To: [EMAIL PROTECTED] Subject: Re: [JBoss-dev] Fix for bug in AbstractWebContainer I think the handling of the WEB-INF/classes at the JBoss class loader level is dubious and its subject to being ripped out as soon as I take a close look at it. In general patches are to be submitted through sourceforge JBoss project. xxxxxxxxxxxxxxxxxxxxxxxx Scott Stark Chief Technology Officer JBoss Group, LLC xxxxxxxxxxxxxxxxxxxxxxxx ----- Original Message ----- From: "Matt Humphrey" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, February 12, 2002 1:58 PM Subject: [JBoss-dev] Fix for bug in AbstractWebContainer > It appears that deployment of WAR files was broken when the new > Unified Classloader was implemented. The problem seems to be that a > classloader for > the WEB-INF/classes directory within the WAR is not created, and > instead a classloader for some arbitrary subdirectory of > WEB-INF/classes is created. Here is a snippet of the broken code (from > AbstractWebContainer.parseWEBINFClasses): > > File outFile = new File(localCopyDir, > di.shortName+".webinf"+File.separator+name); > outFile.getParentFile().mkdirs(); > if (!uclCreated) > { > DeploymentInfo sub = new > DeploymentInfo(outFile.getParentFile().toURL(), di); > // There is no copying over, just use the url for the UCL > sub.localUrl = sub.url; > > // Create a URL for the sub > sub.createClassLoaders(); > uclCreated = true; > di.subDeployments.add(sub); > } > > For example, if the first file under WEB-INF/classes it finds is > WEB-INF/classes/org/blah/foo.class, it will create a sub-deployment > (and hence a classloader) for WEB-INF/classes/org/blah/ when what we > really wanted was a sub-deployment for WEB-INF/classes/. Here is my > fix: > > File outFile = new File(localCopyDir, > di.shortName+".webinf"+File.separator+name); > > outFile.getParentFile().mkdirs(); > > if (!uclCreated) > { > // ************** NEW CODE > File classesFile = new File(localCopyDir, > di.shortName+".webinf"+File.separator+"WEB-INF"+File.separator+"classe > s"); > > DeploymentInfo sub = new DeploymentInfo(classesFile.toURL(), > di); // ************** END NEW CODE > > // There is no copying over, just use the url for the UCL > sub.localUrl = sub.url; > > // Create a URL for the sub > sub.createClassLoaders(); > > uclCreated = true; > > di.subDeployments.add(sub); > } > > I apologize if I am not submitting this fix in the correct format; I > am new > to open source development. > > > _________________________________________________________ > Do You Yahoo!? > Get your free @yahoo.com address at http://mail.yahoo.com > > > _______________________________________________ > Jboss-development mailing list [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development > _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development