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:53:49 GMT
For example:

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-core</artifactId>
    <version>3.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-api</artifactId>
    <version>3.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-servlet</artifactId>
    <version>3.0.1</version>
</dependency>



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

> I can't post an example app right now. But you cannot have any Tiles 2
> jars in your application if you want to use Tiles 3. That's why you're
> blowing up. The exception clearly shows the application is looking for a
> Tiles 2 API signature but is finding an incompatible Tiles 3 API signature
> or vice-versa. Please remove all Tiles 2 jars and make sure only Tiles 3
> jars are present.
>
>
> On Fri, Oct 18, 2013 at 3:45 PM, Emi Lu <emilu@encs.concordia.ca> wrote:
>
>>
>> > 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.
>>
>> I searched the whole project with keyword "struts-default", and only
>> struts2.3.15.3.jar has this keyword.
>>
>> All other *struts*.xml,
>>  <package name="..." namespace="/..." extends="tiles-default">
>> is used.
>>
>>
>> Would it be possible that you could post a blank/test project(struts2 +
>> tile3 + jars needed) on the website? Which will help a lot!
>>
>>
>>  Do you, by chance, have both Tiles 2 and Tiles 3 libraries in your app?
>>>
>>
>> In struts2.3.15.3, there are tiles-api-2.0.6.jar  tiles-core-2.0.6.jar
>> tiles-jsp-2.0.6.jar.
>>
>> (1) When load the 3 jars, webapp cannot be started and will get a
>> different exception
>>
>>
>>
>> (2) When did not load the 3 jars:
>>     webapp can be started successfully.
>>     When login and got the "java.lang.NoSuchMethodError:
>> org.apache.tiles.access.**TilesAccess.getContainer(**Ljava/lang/Object;)"
>> Exception.
>>
>> So, the exception shows below for (2).
>>
>> Thanks again.
>> Emi
>>
>>
>> --
>>
>>>
>>>             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 <mailto:emilu@encs.concordia.**ca<emilu@encs.concordia.ca>>
>>>        +1
>>>     514 848-2424 x5884
>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Paul
>>>
>>
>>
>> --
>> 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