User: jules_gosnell
  Date: 02/02/15 17:01:59

  Modified:    jetty/src/main/org/jboss/jetty
                        JBossWebApplicationContext.java
  Log:
  try harder to put together a complete classpath for Jasper to compile JSPs
  
  Revision  Changes    Path
  1.21      +21 -90    
contrib/jetty/src/main/org/jboss/jetty/JBossWebApplicationContext.java
  
  Index: JBossWebApplicationContext.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/jboss/jetty/JBossWebApplicationContext.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- JBossWebApplicationContext.java   12 Feb 2002 22:42:28 -0000      1.20
  +++ JBossWebApplicationContext.java   16 Feb 2002 01:01:59 -0000      1.21
  @@ -5,7 +5,7 @@
    * See terms of license at gnu.org.
    */
   
  -// $Id: JBossWebApplicationContext.java,v 1.20 2002/02/12 22:42:28 jules_gosnell 
Exp $
  +// $Id: JBossWebApplicationContext.java,v 1.21 2002/02/16 01:01:59 jules_gosnell 
Exp $
   
   // A Jetty HttpServer with the interface expected by JBoss'
   // J2EEDeployer...
  @@ -23,6 +23,7 @@
   import org.jboss.jetty.security.JBossUserRealm;
   import org.jboss.jetty.session.DistributedHttpSessionManager;
   import org.jboss.logging.Logger;
  +import org.jboss.system.MBeanClassLoader;
   import org.jboss.web.AbstractWebContainer.WebDescriptorParser;
   import org.jboss.web.WebApplication;
   import org.mortbay.http.ContextLoader;
  @@ -158,113 +159,43 @@
        ((org.mortbay.http.ContextLoader)_loader).setJava2Compliant(true);
       }
   
  -  // copy our superclass' version of this, but ensure that servlet
  -  // api and jasper jars are appended to it...
  +  String _separator=System.getProperty("path.separator");
  +  protected String
  +    URLArrayToClassPath(URL[] urls, String classpath)
  +    {
  +      for (int i=urls.length-1; urls!=null && i>-1; i--)
  +      {
  +     URL url=urls[i];
  +     if (url.getProtocol().equals("file"))
  +       classpath+=(classpath.length()==0?"":_separator)+url.getPath();
  +     else
  +       _log.warn("non-file URL encountered in ClassPath URLs");
  +      }
  +
  +      return classpath;
  +    }
   
     public String
       getFileClassPath()
       {
  -      String separator=System.getProperty("path.separator");
  -
         String classpath="";
         for (ClassLoader cl=getClassLoader();
           cl.getParent()!=null;
           cl=cl.getParent())
         {
        if (cl instanceof URLClassLoader)
  -     {
  -       URL[] urls=((URLClassLoader)cl).getURLs();
  -       for (int i=0; urls!=null && i<urls.length; i++)
  -       {
  -         URL url=urls[i];
  -         if (url.getProtocol().equals("file"))
  -           classpath+=(classpath.length()==0?"":separator)+url.getPath();
  -         else
  -           _log.warn("non-file URL encountered in ClassLoader - jsp compilation may 
fail");
  -       }
  -     }
  +       classpath+=URLArrayToClassPath(((URLClassLoader)cl).getURLs(), classpath);
  +     else if (cl instanceof MBeanClassLoader)
  +       classpath+=URLArrayToClassPath(((MBeanClassLoader)cl).getURLs(), classpath);
        else
  -     {
  -       _log.warn("non URLClassLoader("+cl+") encountered - jsp compilation may 
fail");
  -     }
  -      }
  -
  -      // we should report non-file urls and non URLClassLoader
  -      // ClassLoaders here...
  -
  -      // and now - let's hack a bit...
  -      try
  -      {
  -     String jar=findJarByResource("javax/servlet/resources/web-app_2_3.dtd");
  -     classpath+=separator+jar;
  -      }
  -      catch (Exception e)
  -      {
  -     _log.warn("could not find Servlet API jar", e);
  -      }
  -
  -      try
  -      {
  -     String jar=findJarByResource("org/apache/jasper/resources/jsp12.dtd");
  -     classpath+=separator+jar;
  -      }
  -      catch (Exception e)
  -      {
  -     _log.warn("could not find Jasper jar", e);
  +       _log.warn("unknown ClassLoader type ("+cl.getClass().getName()+") - jsp 
classpath may be incomplete");
         }
   
  -      try
  -      {
  -     String jar=findJarByResource("javax/ejb/EJBHome.class");
  -     classpath+=separator+jar;
  -      }
  -      catch (Exception e)
  -      {
  -     _log.warn("could not find J2EE jar", e);
  -      }
   
         _log.info("default JSP CLASSPATH: "+classpath);
   
         return classpath;
       }
  -
  -  //   public String getFileClassPath()
  -  //     throws IllegalStateException
  -  //     {
  -  //       ClassLoader loader = getClassLoader();
  -  //       if (loader==null)
  -  //         throw new IllegalStateException("Context classloader not initialized");
  -  //
  -  //       String separator=System.getProperty("path.separator");
  -  //
  -  //       String fileClassPath =
  -  //         ((loader instanceof ContextLoader)
  -  //          ? ((ContextLoader)loader).getFileClassPath()
  -  //          : getClassPath())+separator+System.getProperty("java.class.path");
  -  //
  -  //       try
  -  //       {
  -  //         String 
jar=findJarByResource("javax/servlet/resources/web-app_2_3.dtd");
  -  //         fileClassPath+=separator+jar;
  -  //       }
  -  //       catch (Exception e)
  -  //       {
  -  //         _log.warn("could not find Servlet API jar", e);
  -  //       }
  -  //
  -  //       try
  -  //       {
  -  //         String jar=findJarByResource("org/apache/jasper/resources/jsp12.dtd");
  -  //         fileClassPath+=separator+jar;
  -  //       }
  -  //       catch (Exception e)
  -  //       {
  -  //         _log.warn("could not find Jasper jar", e);
  -  //       }
  -  //
  -  //       _log.info("default JSP CLASSPATH:"+fileClassPath);
  -  //       return fileClassPath;
  -  //     }
   
     // given a resource name, find the jar file that contains that resource...
     protected String
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to