That is it. 

Thanks Ben

Russell.

-----Original Message-----
From: Ben Gidley [mailto:[EMAIL PROTECTED] 
Sent: 02 July 2008 12:09
To: Tapestry users
Subject: Re: T5: upgrade to T5.0.13 from T5.0.11 ClassNotFoundException
for slf4j.Logger

Russell,

I think this is a Jetty issue. Try running the application via mvn
jetty:run
- if this works then the problem is Jetty is hiding SLF4J from the
beanEditForm class loader.

What is happening is Jetty hides 'server' classes from the web
application
unless they are also in WEB-INF/lib. When you run in the IDE you don't
have
a WEB-INF/lib so it can't find the slf4j classes as they are loaded by
Jetty
as server classes.

You are starting Tapestry inside your IDE using a Run class - you need
to
add a line into your startup class saying

 // Remove slf4j from list of classes not exposed to webapp
                webapp.setServerClasses(new String[]
{"-org.mortbay.jetty.plus.jaas.", "org.mortbay.jetty."});



see http://wiki.apache.org/tapestry/Tapestry5RunViaMain for more
details.

Thanks

Ben



On Wed, Jul 2, 2008 at 11:43 AM, Russell Brown <[EMAIL PROTECTED]>
wrote:

> Hi,
>
> I have just upgraded my projects dependencies under maven from T5.0.11
> to T5.0.13. Everything compiled OK (after I changed all the
*.tapestry.*
> imports to *.tapestry5.* imports and used the new refactored constants
> classes). However when I request a page that includes a BeanEditForm I
> get a large stack trace that seems to be caused by the following : -
>
>
>
> Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger
>
>      at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>
>      at java.security.AccessController.doPrivileged(Native Method)
>
>      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>
>      at
>
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.j
> ava:366)
>
>      at
>
org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.j
> ava:337)
>
>      at javassist.Loader.delegateToParent(Loader.java:428)
>
>      at javassist.Loader.loadClass(Loader.java:314)
>
>      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>
>      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>
>      at java.lang.Class.forName0(Native Method)
>
>      at java.lang.Class.forName(Class.java:242)
>
>      at
>
org.apache.tapestry5.internal.services.InternalClassTransformationImpl.t
> oClass(InternalClassTransformationImpl.java:1707)
>
>
>
>
>
> I had a look at the documentation of tapestry logging. I followed the
> instructions here
> http://tapestry.apache.org/tapestry5/tapestry-ioc/logging.html and
added
> the exclusions for log4j and added a dependency for logback (which we
> use instead of log4j) (actually they were already in place, since this
> worked fine in T5.0.11). And yet I get the problem above. I know this
is
> not specifically a Tapestry 5 issue but it is a new issue with T5.0.13
> that was not present in T5.0.11 which worked fine with this
> configuration. Any ideas anyone? Looking at the maven dependency tree
> everything that needs to be there seems to be (logback, slf4j-apiare
> there and log4j and slf4j-log4j12 are not)
>
>
>
> Hope you can help,
>
>
>
> Russell
>
>
>
> Communications on or through ioko's computer systems may be monitored
or
> recorded to secure effective system operation and for other lawful
purposes.
>
> Unless otherwise agreed expressly in writing, this communication is to
be
> treated as confidential and the information in it may not be used or
> disclosed except for the purpose for which it has been sent. If you
have
> reason to believe that you are not the intended recipient of this
> communication, please contact the sender immediately. No employee is
> authorised to conclude any binding agreement on behalf of ioko with
another
> party by e-mail without prior express written confirmation.
>
> ioko365 Ltd.  VAT reg 656 2443 31. Reg no 3048367. All rights
reserved.
>


Communications on or through ioko's computer systems may be monitored or 
recorded to secure effective system operation and for other lawful purposes.

Unless otherwise agreed expressly in writing, this communication is to be 
treated as confidential and the information in it may not be used or disclosed 
except for the purpose for which it has been sent. If you have reason to 
believe that you are not the intended recipient of this communication, please 
contact the sender immediately. No employee is authorised to conclude any 
binding agreement on behalf of ioko with another party by e-mail without prior 
express written confirmation.

ioko365 Ltd.  VAT reg 656 2443 31. Reg no 3048367. All rights reserved.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to