You were absolutely right, Sven! Now, my unit tests pass and I can launch
my app. But amongst some minor problems, I have this exception in my
start-up logs:

java.lang.NoClassDefFoundError: org/apache/wicket/request/Request
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
    at java.lang.Class.getDeclaredMethods(Class.java:1808)
    at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:382)
    at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:320)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:798)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
    at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
    at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
    at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
    at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
    at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.ClassNotFoundException:
org.apache.wicket.request.Request
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
    ... 26 more
20 mars 2012 20:27:17 org.apache.catalina.core.StandardContext listenerStart
GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé
(context initialized) à l'instance de classe d'écoute (listener)
org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org/apache/wicket/request/Request
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
    at java.lang.Class.getDeclaredMethods(Class.java:1808)
    at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:382)
    at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:320)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:798)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
    at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
    at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
    at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
    at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
    at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.ClassNotFoundException:
org.apache.wicket.request.Request
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
    ... 26 more




Do you have any idea where it can come from? I've checked my classpath and
it looks OK, now.

Regards,

Pierre Goupil





On Sun, Mar 18, 2012 at 11:35 PM, Sven Meier <[email protected]> wrote:

> Perhaps a classloader issue? Check whether you have two Wicket versions in
> your project.
>
> Sven
>
>
> On 03/18/2012 10:56 PM, Pierre Goupil wrote:
>
>> Actually, this error occurs in my unit tests. I can't launch the app at
>> this very moment, because some more things need to be managed during the
>> migration. But this simple test should work as it all compiles.
>>
>> As expected, the constructor from WebSession is called by
>> MyApplication#newSession(**Request request, Response response)
>>
>> Regards,
>>
>> Pierre Goupil
>>
>>
>>
>>
>> On Sun, Mar 18, 2012 at 10:48 PM, Jeremy Thomerson<
>> [email protected]>  wrote:
>>
>>  Put a breakpoint in the WebSession constructor and see where it's getting
>>> called.
>>>
>>> Or, perhaps you won't see anything there if this is happening because you
>>> are in a serialized WebSession.  You can test that by clearing all
>>> cookies,
>>> etc, and starting a new session.
>>>
>>> --
>>> Jeremy Thomerson
>>> http://wickettraining.com
>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>
>>> On Sun, Mar 18, 2012 at 5:40 PM, Pierre Goupil<[email protected]
>>>
>>>> wrote:
>>>> Yes, absolutely:
>>>>
>>>>
>>>>    public Session newSession(final Request request, final Response
>>>> response)
>>>>    {
>>>>        return new MySession(request);
>>>>     }
>>>>
>>>>
>>>>
>>>>
>>>> On Sun, Mar 18, 2012 at 10:32 PM, Jeremy Thomerson<
>>>> [email protected]>  wrote:
>>>>
>>>>  On Sun, Mar 18, 2012 at 5:08 PM, Pierre Goupil<[email protected]
>>>>>
>>>>>> wrote:
>>>>>> Good evening,
>>>>>>
>>>>>> I'm currently in the process of migrating my app from Wicket 1.4 to
>>>>>>
>>>>> Wicket
>>>>>
>>>>>> 1.5. I've read the migration guide and everything seems to go fine,
>>>>>>
>>>>> except
>>>>>
>>>>>> for session management.
>>>>>>
>>>>>> Here's my code:
>>>>>>
>>>>>> public class MySession extends WebSession
>>>>>> {
>>>>>>
>>>>>>  public static MySession get()
>>>>>>    {
>>>>>>        return (MySession)Session.get();
>>>>>>    }
>>>>>>
>>>>>> }
>>>>>>
>>>>>> When call, the get() method gives this stacktrace:
>>>>>>
>>>>>> Caused by: java.lang.ClassCastException:
>>>>>> org.apache.wicket.protocol.**http.WebSession cannot be cast to
>>>>>>
>>>>> MySession
>>>
>>>> Any help, please?
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Pierre Goupil
>>>>>>
>>>>>>
>>>>> Does your application override newSession and return a new MySession?
>>>>>
>>>>> --
>>>>> Jeremy Thomerson
>>>>> http://wickettraining.com
>>>>> *Need a CMS for Wicket?  Use Brix! http://brixcms.org*
>>>>>
>>>>>
>>>>
>>>> --
>>>> Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
>>>> assez fort.
>>>>
>>>>
>>
>>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@wicket.**apache.org<[email protected]>
> For additional commands, e-mail: [email protected]
>
>


-- 
Si tu penses que la violence ne résout rien, c'est que tu n'as pas tapé
assez fort.

Reply via email to