Index: web/war-util/src/main/java/org/glassfish/web/loader/WebappClassLoader.java =================================================================== --- web/war-util/src/main/java/org/glassfish/web/loader/WebappClassLoader.java (revision 39667) +++ web/war-util/src/main/java/org/glassfish/web/loader/WebappClassLoader.java (working copy) @@ -419,6 +419,9 @@ overridablePackages = new ConcurrentLinkedQueue(); } overridablePackages.add(packageName); + if (logger.isLoggable(Level.CONFIG)) { + logger.log(Level.CONFIG, String.format("Overriding package %s", packageName)); + } } // END PE 4985680 Index: web/war-util/src/main/java/com/sun/enterprise/glassfish/web/WarHandler.java =================================================================== --- web/war-util/src/main/java/com/sun/enterprise/glassfish/web/WarHandler.java (revision 39667) +++ web/war-util/src/main/java/com/sun/enterprise/glassfish/web/WarHandler.java (working copy) @@ -226,6 +226,12 @@ cloader.setUseMyFaces(webXmlParser.isUseBundledJSF()); + if (webXmlParser.overrideablePackages != null) { + for (String p : webXmlParser.overrideablePackages) { + cloader.addOverridablePackage(p); + } + } + File libDir = new File(base, "WEB-INF/lib"); if (libDir.exists()) { int baseFileLen = base.getPath().length(); @@ -269,6 +275,7 @@ protected boolean ignoreHiddenJarFiles = false; protected boolean useBundledJSF = false; protected String extraClassPath = null; + protected String[] overrideablePackages; WebXmlParser(String baseStr) throws XMLStreamException, FileNotFoundException { @@ -425,6 +432,8 @@ if ("ignoreHiddenJarFiles".equals(propName)) { ignoreHiddenJarFiles = Boolean.valueOf(value); + } else if ("overrideablePackages".equals(propName)) { + overrideablePackages = value.split("[, ]"); } else { Object[] params = { propName, value }; if (logger.isLoggable(Level.WARNING)) { Index: web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java =================================================================== --- web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java (revision 39667) +++ web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java (working copy) @@ -1733,6 +1733,12 @@ } if("ignoreHiddenJarFiles".equalsIgnoreCase(name)) { loader.setIgnoreHiddenJarFiles(ConfigBeansUtilities.toBoolean(value)); + } else if ("overrideablePackages".equalsIgnoreCase(name)) { + if (value != null) { + for (String p : value.split("[, ]")) { + loader.addOverridablePackage(p); + } + } } else { Object[] params = {name, value}; logger.log(Level.WARNING, "webcontainer.invalidProperty",