tiles-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Benedict <pbened...@apache.org>
Subject Re: tiles3.0.1 + struts2 => java.lang.NoClassDefFoundError: org/apache/tiles/web/startup/TilesListener"
Date Fri, 18 Oct 2013 20:33:38 GMT
I looked at my Struts 2 + Tiles 3 application. Like the instructions say,
you need either to register the tile result OR extend from tiles-default. I
only did the former. See what happens if you extend from struts-default
instead.


On Fri, Oct 18, 2013 at 3:30 PM, Paul Benedict <pbenedict@apache.org> wrote:

> Do you, by chance, have both Tiles 2 and Tiles 3 libraries in your app?
>
>
> On Fri, Oct 18, 2013 at 2:53 PM, Emi Lu <emilu@encs.concordia.ca> wrote:
>
>> On 10/18/2013 03:42 PM, Paul Benedict wrote:
>>
>>> I think you're using the wrong result class. See step #3 of the document.
>>>
>>
>> It's the same result class, and here is the struts-login.xml. Thanks.
>>
>>
>> <struts>
>>
>>    <package name="Login" namespace="/Login" extends="tiles-default">
>>
>>
>>       <result-types>
>>          <result-type name="tiles" class="org.apache.struts2.**views.tiles.TilesResult"
>> />
>>       </result-types>
>>
>>
>>       <action name="*ProcessLoginAction"  method="{1}"
>> class="ProcessLoginAction">
>>          <result name="success"   type="tiles">login_main_page</**result>
>>          <result name="error"     type="tiles">login_main_page</**result>
>>
>>          <result name="main_menu" type="redirectAction">
>>                        <param name="actionName">**
>> ProcessMenuAction</param>
>>                        <param name="namespace">/Menu</param>
>>                  </result>
>>
>>          <result name="ajax_check">
>>                             /WEB-INF/pages/errorinfo/ajax_**
>> error_check.jsp
>>              </result>
>>       </action>
>>       ......
>>
>>    </package>
>>
>> </struts>
>>
>>
>>
>>
>>> On Fri, Oct 18, 2013 at 2:37 PM, Emi Lu <emilu@encs.concordia.ca> wrote:
>>>
>>>  On 10/18/2013 11:57 AM, Emi Lu wrote:
>>>>
>>>>  On 10/18/2013 11:36 AM, Paul Benedict wrote:
>>>>>
>>>>>  https://cwiki.apache.org/****confluence/display/WW/Tiles+3+****Plugin<https://cwiki.apache.org/**confluence/display/WW/Tiles+3+**Plugin>
>>>>>> <https://cwiki.apache.**org/confluence/display/WW/**Tiles+3+Plugin<https://cwiki.apache.org/confluence/display/WW/Tiles+3+Plugin>
>>>>>> >
>>>>>>
>>>>>>
>>>>>
>>>>>  Web.xml
>>>> ===============
>>>> ...
>>>> <context-param>
>>>>        <param-name>
>>>>           org.apache.tiles.impl.****BasicTilesContainer.****
>>>> DEFINITIONS_CONFIG
>>>>        </param-name>
>>>>        <param-value>
>>>>
>>>> /WEB-INF/tiles/login/tiles-****login.xml,/WEB-INF/tiles/main/****
>>>> tiles-main.xml,/WEB-INF/tiles/****help/tiles-help.xml
>>>>        </param-value>
>>>>     </context-param>
>>>> ...
>>>>     <listener>
>>>>
>>>> <listener-class>org.apache.****tiles.extras.complete.**
>>>> CompleteAutoloadTilesListener<****/listener-class>
>>>>
>>>>     </listener>
>>>> ...
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> But got the following exception:
>>>> ==============================****======
>>>> java.lang.NoSuchMethodError: org.apache.tiles.access.**
>>>> TilesAccess.getContainer(****Ljava/lang/Object;)Lorg/**
>>>> apache/tiles/TilesContainer;
>>>>          at org.apache.struts2.views.****tiles.TilesResult.doExecute(**
>>>> TilesResult.java:100)
>>>>          at org.apache.struts2.dispatcher.**
>>>> **StrutsResultSupport.execute(****
>>>> StrutsResultSupport.java:186)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.**
>>>> executeResult(****DefaultActionInvocation.java:****371)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****275)
>>>>          at org.apache.struts2.****interceptor.debugging.**
>>>> DebuggingInterceptor.****intercept(****DebuggingInterceptor.java:256)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> DefaultWorkflowInterceptor.****doIntercept(****
>>>> DefaultWorkflowInterceptor.**
>>>> java:167)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> MethodFilterInterceptor.****intercept(****
>>>> MethodFilterInterceptor.java:****98)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****validator.****
>>>> ValidationInterceptor.**
>>>> doIntercept(****ValidationInterceptor.java:****265)
>>>>          at org.apache.struts2.****interceptor.validation.**
>>>> AnnotationValidationIntercepto****r.doIntercept(**
>>>> AnnotationValidationIntercepto****r.java:68)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> MethodFilterInterceptor.****intercept(****
>>>> MethodFilterInterceptor.java:****98)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> ConversionErrorInterceptor.****intercept(****
>>>> ConversionErrorInterceptor.**
>>>> java:138)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.****
>>>> ParametersInterceptor.*
>>>> *doIntercept(****ParametersInterceptor.java:****239)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> MethodFilterInterceptor.****intercept(****
>>>> MethodFilterInterceptor.java:****98)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.****
>>>> ParametersInterceptor.*
>>>> *doIntercept(****ParametersInterceptor.java:****239)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> MethodFilterInterceptor.****intercept(****
>>>> MethodFilterInterceptor.java:****98)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> StaticParametersInterceptor.****intercept(****
>>>> StaticParametersInterceptor.**
>>>> java:191)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at org.apache.struts2.****interceptor.****
>>>> MultiselectInterceptor.**
>>>> intercept(****MultiselectInterceptor.java:****73)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at org.apache.struts2.****interceptor.**
>>>> CheckboxInterceptor.intercept(****CheckboxInterceptor.java:91)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at org.apache.struts2.****interceptor.****
>>>> FileUploadInterceptor.**
>>>> intercept(****FileUploadInterceptor.java:****252)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.****
>>>> ModelDrivenInterceptor.
>>>> **intercept(****ModelDrivenInterceptor.java:****100)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> ScopedModelDrivenInterceptor.****intercept(****
>>>> ScopedModelDrivenInterceptor.****
>>>> java:141)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> ChainingInterceptor.intercept(****ChainingInterceptor.java:**145)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.****
>>>> PrepareInterceptor.**
>>>> doIntercept(****PrepareInterceptor.java:171)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> MethodFilterInterceptor.****intercept(****
>>>> MethodFilterInterceptor.java:****98)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.I18nInterceptor.**
>>>> intercept(I18nInterceptor.****java:161)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at org.apache.struts2.****interceptor.****
>>>> ServletConfigInterceptor.**
>>>> intercept(****ServletConfigInterceptor.java:****164)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.AliasInterceptor.**
>>>> **
>>>> intercept(AliasInterceptor.****java:193)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at com.opensymphony.xwork2.****interceptor.**
>>>> ExceptionMappingInterceptor.****intercept(****
>>>> ExceptionMappingInterceptor.**
>>>> java:189)
>>>>          at com.opensymphony.xwork2.****DefaultActionInvocation.****
>>>> invoke(**
>>>> DefaultActionInvocation.java:****246)
>>>>          at org.apache.struts2.impl.****StrutsActionProxy.execute(**
>>>> StrutsActionProxy.java:54)
>>>>          at org.apache.struts2.dispatcher.**
>>>> **Dispatcher.serviceAction(**
>>>> Dispatcher.java:563)
>>>>          at org.apache.struts2.dispatcher.****ng.ExecuteOperations.**
>>>> executeAction(****ExecuteOperations.java:77)
>>>>          at org.apache.struts2.dispatcher.****ng.filter.**
>>>> StrutsPrepareAndExecuteFilter.****doFilter(****
>>>> StrutsPrepareAndExecuteFilter.***
>>>> *java:99)
>>>>          at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****235)
>>>>          at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****206)
>>>>          at org.displaytag.filter.****ResponseOverrideFilter.****
>>>> doFilter(**
>>>> ResponseOverrideFilter.java:****125)
>>>>          at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****235)
>>>>          at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****206)
>>>>          at org.displaytag.filter.****ResponseOverrideFilter.****
>>>> doFilter(**
>>>> ResponseOverrideFilter.java:****125)
>>>>          at org.apache.catalina.core.****ApplicationFilterChain.**
>>>> internalDoFilter(****ApplicationFilterChain.java:****235)
>>>>          at org.apache.catalina.core.****ApplicationFilterChain.****
>>>> doFilter(**
>>>> ApplicationFilterChain.java:****206)
>>>>          at org.apache.catalina.core.****StandardWrapperValve.invoke(**
>>>> StandardWrapperValve.java:233)
>>>>          at org.apache.catalina.core.****StandardContextValve.invoke(**
>>>> StandardContextValve.java:191)
>>>>          at org.apache.catalina.core.****StandardHostValve.invoke(**
>>>> StandardHostValve.java:127)
>>>>          at org.apache.catalina.valves.****ErrorReportValve.invoke(**
>>>> ErrorReportValve.java:103)
>>>>          at org.apache.catalina.core.****StandardEngineValve.invoke(**
>>>> StandardEngineValve.java:109)
>>>>          at org.apache.catalina.connector.****CoyoteAdapter.service(**
>>>> CoyoteAdapter.java:293)
>>>>          at org.apache.coyote.http11.****Http11Processor.process(**
>>>> Http11Processor.java:861)
>>>>          at org.apache.coyote.http11.****Http11Protocol$**
>>>> Http11ConnectionHandler.****process(Http11Protocol.java:****606)
>>>>          at org.apache.tomcat.util.net.****JIoEndpoint$Worker.run(**
>>>> JIoEndpoint.java:489)
>>>>          at java.lang.Thread.run(Thread.****java:662)
>>>>
>>>>
>>>> Could someone tell which jar missing please?
>>>>
>>>> Struts2.3.15.3  + tiles3.01.
>>>>
>>>> Thanks a lot!
>>>> Emi
>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> Emi Lu, ENCS, Concordia University, Montreal H3G 1M8
>> emilu@encs.concordia.ca        +1 514 848-2424 x5884
>>
>
>
>
> --
> Cheers,
> Paul
>



-- 
Cheers,
Paul

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message