Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.0-beta-2
-
None
-
None
-
Linux, Java6
Description
library-directory is ignored with the latest snapshot apache-tomee-1.0.0-beta-2-20111024.180646-18-webprofile.tar.gz.
This was not the case with the snapshot apache-tomee-1.0.0-beta-2-20111022.170518-16-webprofile.tar.gz.
The library directory is configured in application.xml with the option <library-directory>APP-INF/lib</library-directory>.
Probably the option is not ignored but something with the classloader management changed in the latest snapshot so that servlet classes located in a JAR in the library-directory are not found. A sample stack trace looks as follows:
SEVERE: Class org.opencrx.application.webdav.WebDavServlet not found
java.lang.ClassNotFoundException: org.opencrx.application.webdav.WebDavServlet
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.myfaces.shared.util.ClassUtils.classForName(ClassUtils.java:191)
at org.apache.myfaces.shared.util.ClassUtils.simpleClassForName(ClassUtils.java:210)
at org.apache.myfaces.shared_impl.webapp.webxml.WebXml.getFacesServletMappings(WebXml.java:133)
at org.apache.myfaces.spi.impl.DefaultWebConfigProvider.getFacesServletMappings(DefaultWebConfigProvider.java:46)
at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:110)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:111)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)