Struts2 Update to 2.3.15.1 implies Tiles upgrade to 3.0.1?

1.1k Views Asked by At

Due to the security issues in Struts 2.3.14.3 we upgraded to Struts 2.3.15.1 today.

But we have a problem, since the struts2-tiles-plugin was updated from version 2.1.4 to 3.0.1 and our server is not working anymore.

The error is:

18.07.2013 16:19:20 org.apache.catalina.core.StandardContext listenerStart
SCHWERWIEGEND: Error configuring application listener of class org.apache.struts2.tiles.StrutsTilesListener
java.lang.NoClassDefFoundError: org/apache/tiles/web/startup/TilesListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at de.hybris.tomcat.HybrisWebappClassLoader60.findClassInternal(HybrisWebappClassLoader60.java:2244)
at de.hybris.tomcat.HybrisWebappClassLoader60.findClass(HybrisWebappClassLoader60.java:982)
at de.hybris.tomcat.HybrisWebappClassLoader60.loadClass(HybrisWebappClassLoader60.java:1610)
at de.hybris.tomcat.HybrisWebappClassLoader60.loadClass(HybrisWebappClassLoader60.java:1443)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:244)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: org.apache.tiles.web.startup.TilesListener
at de.hybris.tomcat.HybrisWebappClassLoader60.loadClass(HybrisWebappClassLoader60.java:1663)
at de.hybris.tomcat.HybrisWebappClassLoader60.loadClass(HybrisWebappClassLoader60.java:1443)
... 29 more
18.07.2013 16:19:20 org.apache.catalina.core.StandardContext listenerStart
SCHWERWIEGEND: Skipped installing application listeners due to previous error(s)
18.07.2013 16:19:20 org.apache.catalina.core.StandardContext start

Now I am a bit stuck, since this article here: How to integrate Struts 2 with Tiles 3 starts to integrate tiles-extras (why do I need that, exactly) and uses annotations and listeners and whatever. I just wanted to do a quick update of struts and not do an update of tiles as well. Can anyone point me out exactly how to do that? Thanks for any help :)

1

There are 1 best solutions below

0
On

We upgraded now only the struts packages and tiles (including the problematic tiles-servlet) to version 2.2.2. The implementation of tiles 3.0.1 in the new struts package is incomplete and cannot be used.