0

I am trying to migrate struts from 2.3 to 2.5.20. As part of this task i had to migrate tiles 2 to tiles 3

I can see my tomcat starting and I can access my endpoints (rest endpoints)

I have added following plugin struts2-tiles-plugin-2.5.20.jar

Also added following jars for Tiles 3 :

tiles-api-3.0.8.jar
tiles-autotag-core-runtime-1.2.jar
tiles-compat-3.0.8.jar
tiles-core-3.0.8.jar
tiles-el-3.0.8.jar
tiles-extras-3.0.8.jar
tiles-freemarker-3.0.8.jar
tiles-jsp-3.0.8.jar
tiles-mvel-3.0.8.jar
tiles-ognl-3.0.8.jar
tiles-request-api-1.0.7.jar
tiles-request-jsp-1.0.7.jar
tiles-request-mustache-1.0.7.jar
tiles-request-servlet-1.0.7.jar
tiles-request-servlet-wildcard-1.0.7.jar
tiles-servlet-3.0.8.jar
tiles-template-3.0.8.jar
tiles-velocity-3.0.8.jar

changed DTD in XML to :

<!DOCTYPE tiles-definitions PUBLIC 
        "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" 
        "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> 

I am getting following exception :

15:32:03.820 [http-nio-8443-exec-3] ERROR org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler - Exception occurred during processing request: null
java.lang.NullPointerException: null
    at org.apache.tiles.access.TilesAccess.getContainer(TilesAccess.java:124) ~[tiles-api-3.0.8.jar:3.0.8]
    at org.apache.tiles.access.TilesAccess.getContainer(TilesAccess.java:107) ~[tiles-api-3.0.8.jar:3.0.8]
    at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:126) ~[struts2-tiles-plugin-2.5.20.jar:2.5.20]
    at org.apache.struts2.result.StrutsResultSupport.execute(StrutsResultSupport.java:206) ~[struts2-core-2.5.20.jar:2.5.20]
    at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375) ~[struts2-core-2.5.20.jar:2.5.20]
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:279) ~[struts2-core-2.5.20.jar:2.5.20]
    at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:142) ~[struts2-core-2.5.20.jar:2.5.20]
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) ~[struts2-core-2.5.20.jar:2.5.20]
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249) ~[struts2-core-2.5.20.jar:2.5.20]
    at org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48) ~[struts2-core-2.5.20.jar:2.5.20]
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574) [struts2-core-2.5.20.jar:2.5.20]
    at org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79) [struts2-core-2.5.20.jar:2.5.20]
    at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:141) [struts2-core-2.5.20.jar:2.5.20]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.88]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.88]
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:399) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.securechannel.ChannelProcessingFilter.doFilterHttp(ChannelProcessingFilter.java:116) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:188) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) [spring-security-core-2.0.7.RELEASE.jar:?]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.88]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.88]
    at 

Note: I'm using apache-tomcat-7.0.88 for deployment.

Tried adding following jars, with no success :

el-api-6.0.20.jar
jasper-el-6.0.20.jar 
javax.servlet-api-3.0.1.jar
javax.servlet.jsp-api-2.3.1.jar
jstl-1.2.jar
whoami - fakeFaceTrueSoul
  • 17,086
  • 6
  • 32
  • 46
  • Are you using Maven for dependency management? It's almost certainly an issue with version conflicts; while you have a lot of extra Tiles jars the versions *appear* to match the plugin's requirements, but... – Dave Newton Sep 04 '19 at 19:00
  • I am not using Maven for dependency management. We are using ANT so i am manually adding compiler dependency jars in the lib – ratna kumari Rayavarapu Sep 06 '19 at 09:40
  • Maybe you should consider Ivy, then; AFAIK it's still around. The nutshell is that you're going to need to analyze every dependency of everything in the app and try to figure out where things went wrong. Alternatively, create a new, separate project and use Maven solely to determine and download the required jars – Dave Newton Sep 06 '19 at 12:03
  • @DaveNewton I have added jar by jar to my lib. I took reference from Maven(compile and test dependency ) while adding the jars. As my Exception stack trace says Null Pointer Exception, is there any other view about this issue? like any jar missing? or Tiles Configuration problem? – ratna kumari Rayavarapu Sep 09 '19 at 10:44
  • my configuration looks like definitions-config /WEB-INF/tiles/tiles1-defs.xml org.apache.tiles.DEFINITIONS_CONFIG --list--- – ratna kumari Rayavarapu Sep 09 '19 at 11:08
  • FYI i am not able to get ride of above configuration and starts using StringTilesListener. By using StringTilesListener tomcat server itself is not starting – ratna kumari Rayavarapu Sep 09 '19 at 11:10
  • Any update on my posted comments please? – ratna kumari Rayavarapu Sep 25 '19 at 13:12

0 Answers0