classloader issue with org.slf4j.Logger
---------------------------------------
Key: TAPESTRY-2026
URL: https://issues.apache.org/jira/browse/TAPESTRY-2026
Project: Tapestry
Issue Type: Bug
Affects Versions: 5.0.7, 5.0.6
Environment: eclipse 3.3 run-jetty-run plugin jetty 6.1.6 jdk1.6.0_03
windows XP
Reporter: stanislav kutil
There seem to be a problem with loading org.slf4j.Logger class when using
either patched jetty launcher (to support jetty6) or run-jetty-run eclipse
plugin. It does not happen with official jetty launcher & jetty5 (although the
official jetty launcher doesn't support java6). Also it doesn't seem to be
jetty6 specific issue because wen running jetty with mvn jetty:run the
exception is NOT thrown.
An unexpected application exception has occurred.
* java.lang.RuntimeException
java.lang.ClassNotFoundException: caught an exception while obtaining a
class file for org.example.myapp.pages.Start
* java.lang.ClassNotFoundException
caught an exception while obtaining a class file for
org.example.myapp.pages.Start
exception
org.apache.tapestry.internal.services.TransformationException: Error
obtaining injected value for field org.example.myapp.pages.Start.logger:
java.lang.ClassNotFoundException: org.slf4j.Logger
* org.apache.tapestry.internal.services.TransformationException
Error obtaining injected value for field
org.example.myapp.pages.Start.logger: java.lang.ClassNotFoundException:
org.slf4j.Logger
# java.lang.ClassNotFoundException
org.slf4j.Logger
Stack trace
* java.net.URLClassLoader$1.run(URLClassLoader.java:200)
* java.security.AccessController.doPrivileged(Native Method)
* java.net.URLClassLoader.findClass(URLClassLoader.java:188)
*
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)
*
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
* javassist.Loader.delegateToParent(Loader.java:428)
* javassist.Loader.loadClass(Loader.java:314)
* java.lang.ClassLoader.loadClass(ClassLoader.java:251)
* java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
* java.lang.Class.forName0(Native Method)
* java.lang.Class.forName(Class.java:247)
*
org.apache.tapestry.internal.services.InternalClassTransformationImpl.toClass(InternalClassTransformationImpl.java:1461)
*
org.apache.tapestry.internal.services.InjectWorker.transform(InjectWorker.java:54)
*
org.apache.tapestry.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:141)
*
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:163)
* javassist.Loader.findClass(Loader.java:340)
*
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$PackageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:74)
* javassist.Loader.loadClass(Loader.java:311)
* java.lang.ClassLoader.loadClass(ClassLoader.java:251)
*
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findClass(ComponentInstantiatorSourceImpl.java:236)
*
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findInstantiator(ComponentInstantiatorSourceImpl.java:222)
*
org.apache.tapestry.internal.services.PageElementFactoryImpl.newRootComponentElement(PageElementFactoryImpl.java:309)
*
org.apache.tapestry.internal.services.PageLoaderProcessor.loadRootComponent(PageLoaderProcessor.java:354)
*
org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:339)
*
org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:60)
*
org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:69)
*
org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:43)
*
org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
*
org.apache.tapestry.internal.services.RootPathDispatcher.dispatch(RootPathDispatcher.java:52)
*
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:905)
* org.example.myapp.services.AppModule$1.service(AppModule.java:92)
*
org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43)
*
org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:487)
*
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
*
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:94)
*
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:85)
*
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
*
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:107)
*
org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:888)
* org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
*
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
*
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
*
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
*
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
*
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
* org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
*
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
* org.mortbay.jetty.Server.handle(Server.java:324)
*
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
*
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
* org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
* org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
* org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
*
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
*
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]