/** Returns the folder where the HTTP Monitor jar files should be placed */
 public File getMonitorLibFolder() {
   if (tm.isBundledTomcat()) {
     return new File(baseDir, "nblib"); // NOI18N
   }
   return tm.isTomcat60() || tm.isTomcat70()
       ? new File(homeDir, "lib") // NOI18N
       : new File(homeDir, "common/lib"); // NOI18N
 }
  public List /*<URL>*/ getClasses() {
    String[] nbFilter =
        new String[] {
          "httpmonitor",
          "schema2beans",
          /*
           * The following two jars contains eclipse JDT parser. We have to
           * exclude it to not to clash with our jsp parser. See issue #115529.
           */
          "jasper-compiler-jdt",
          "jasper-jdt"
        };

    String[] implFilter = new String[] {"-impl.jar"};

    // tomcat libs
    List retValue = listUrls(new File(homeDir, tm.libFolder()), nbFilter); // NOI18N

    if (tm.isTomcat60()) {
      try {
        retValue.add(new File(homeDir, "bin/tomcat-juli.jar").toURI().toURL()); // NOI18N
      } catch (MalformedURLException e) {
        LOGGER.log(Level.WARNING, "$CATALINA_HOME/bin/tomcat-juli.jar not found", e); // NOI18N
      }
    }

    // wsit
    retValue.addAll(listUrls(new File(homeDir, "common/endorsed"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(homeDir, "shared/lib"), implFilter)); // NOI18N

    // jwsdp libs
    retValue.addAll(listUrls(new File(homeDir, "jaxws/lib"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(homeDir, "jaxb/lib"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(homeDir, "jwsdp-shared/lib"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(homeDir, "jaxp/lib"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(homeDir, "jaxrpc/lib"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(homeDir, "jaxr/lib"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(homeDir, "saaj/lib"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(homeDir, "sjsxp/lib"), implFilter)); // NOI18N

    // other
    retValue.addAll(listUrls(new File(homeDir, "jstl/lib"), implFilter)); // NOI18N
    retValue.addAll(listUrls(new File(baseDir, "shared/lib"), nbFilter)); // NOI18N
    return retValue;
  }