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]