You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Travis McLeskey (JIRA)" <de...@tapestry.apache.org> on 2008/02/11 05:48:08 UTC

[jira] Commented: (TAPESTRY-2026) classloader issue with org.slf4j.Logger

    [ https://issues.apache.org/jira/browse/TAPESTRY-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12567511#action_12567511 ] 

Travis McLeskey commented on TAPESTRY-2026:
-------------------------------------------

I believe this same issue was discussed on the tapestry-users mailing list. The fix was to add this JVM argument:

-Dorg.mortbay.jetty.webapp.parentLoaderPriority=true

It works for me.

> 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.6, 5.0.7
>         Environment: eclipse 3.3 run-jetty-run plugin jetty 6.1.6 jdk1.6.0_03 windows XP
>            Reporter: stanislav kutil
>            Assignee: Howard M. Lewis Ship
>
> 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: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org