public class LibExtClassLoaderHelper extends Object
Helper to create a URL class-loader with the jars inside
${jetty.home}/lib/ext
and ${jetty.home}/resources
. In an ideal world, every
library is an OSGi bundle that does loads nicely. To support standard jars or
bundles that cannot be loaded in the current OSGi environment, we support
inserting the jars in the usual jetty/lib/ext folders in the proper classpath
for the webapps.
The drawback is that those jars will not be available in the OSGi classloader.
Alternatives to placing jars in lib/ext:
Modifier and Type | Class and Description |
---|---|
static interface |
LibExtClassLoaderHelper.IFilesInJettyHomeResourcesProcessor
IFilesInJettyHomeResourcesProcessor
Interface for callback impls
|
Modifier and Type | Field and Description |
---|---|
static Set<LibExtClassLoaderHelper.IFilesInJettyHomeResourcesProcessor> |
registeredFilesInJettyHomeResourcesProcessors |
Constructor and Description |
---|
LibExtClassLoaderHelper() |
Modifier and Type | Method and Description |
---|---|
static ClassLoader |
createLibEtcClassLoader(File jettyHome,
ClassLoader parentClassLoader) |
static ClassLoader |
createLibExtClassLoader(List<File> jarsContainerOrJars,
List<URL> otherJarsOrFolder,
ClassLoader parentClassLoader) |
protected static void |
processFilesInResourcesFolder(File jettyHome,
Map<String,File> childrenFiles)
When we find files typically used for central logging configuration we do
what it takes in this method to do what the user expects.
|
public static final Set<LibExtClassLoaderHelper.IFilesInJettyHomeResourcesProcessor> registeredFilesInJettyHomeResourcesProcessors
public static ClassLoader createLibEtcClassLoader(File jettyHome, ClassLoader parentClassLoader) throws MalformedURLException
jettyHome
- the jetty homeparentClassLoader
- the parent classloaderMalformedURLException
- if the jetty home reference is invalidpublic static ClassLoader createLibExtClassLoader(List<File> jarsContainerOrJars, List<URL> otherJarsOrFolder, ClassLoader parentClassLoader) throws MalformedURLException
jarsContainerOrJars
- the jars via file referencesotherJarsOrFolder
- more jars via url referencesparentClassLoader
- the parent classloaderMalformedURLException
- if there is a bad jar file referenceprotected static void processFilesInResourcesFolder(File jettyHome, Map<String,File> childrenFiles)
We can afford to do some implementation specific code for a logging framework only in a fragment.
Trying to configure log4j and logback in here.
We recommend that slf4j jars are all placed in the osgi framework. And a single implementation if possible packaged as an osgi bundle is there.
jettyHome
- the jetty home referencechildrenFiles
- the map of child filesCopyright © 1995-2015 Webtide. All Rights Reserved.