You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "stanislav kutil (JIRA)" <de...@tapestry.apache.org> on 2008/01/06 19:32:34 UTC

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

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: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


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

Posted by "Travis McLeskey (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12567511#action_12567511 ] 

motravo edited comment on TAPESTRY-2026 at 2/10/08 8:47 PM:
--------------------------------------------------------------------

I believe this 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.

      was (Author: motravo):
    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


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

Posted by "Travis McLeskey (JIRA)" <de...@tapestry.apache.org>.
    [ 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


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

Posted by "stanislav kutil (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561604#action_12561604 ] 

stanislav kutil commented on TAPESTRY-2026:
-------------------------------------------

I belive they are on the classpath at runtime... jetty won't start without them. Also noticed that when I add them to WEB-INF/lib as well the classloader complains about already having loaded the classes (probably a conflict with another version of the class?)

> 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


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

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAPESTRY-2026.
------------------------------------------

    Resolution: Invalid
      Assignee: Howard M. Lewis Ship

This would appear to be a problem with the Eclipse plugin(s) you are mentioning.  Have you asked them about it?  Are you sure that the SLF4J JARs (plural!) are on the classpath at execution time?

> 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