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

Reply via email to