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 <[email protected]> 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 <[email protected]> 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
>>> [email protected]
>>> <mailto:[email protected].**ca<[email protected]>>
>>> +1
>>> 514 848-2424 x5884
>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Paul
>>>
>>
>>
>> --
>> Emi Lu, ENCS, Concordia University, Montreal H3G 1M8
>> [email protected] +1 514 848-2424 x5884
>>
>
>
>
> --
> Cheers,
> Paul
>
--
Cheers,
Paul