I have been trying to integrate Spring (3.0.4 and 3.0.5) MVC with Apache Tiles (2.1.2,2.1.4 and 2.2.2) to no avail. In every case i get the following error:
java.lang.NoClassDefFoundError: org/apache/tiles/startup/BasicTilesInitializer
According to the Tiles documentation, BasicTilesInitializer has been deprecated. I figured the latest version of Spring's TilesConfigurer would reference the correct class, but it doesnt and I still get the same error.
I'm using the following configuration to setup Tiles in my spring mvc app:
<beans:bean
id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<beans:property name="definitions">
<beans:list>
<beans:value>/WEB-INF/tiles/tiles.xml</beans:value>
</beans:list>
</beans:property>
</beans:bean>
<beans:bean
class="org.springframework.web.servlet.view.tiles2.TilesViewResolver">
<beans:property
name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
</beans:bean>
Ideally, I would like to get Spring 3.0.5 working with Tiles 2.2.2. They are the latest versions as of this post.
For tiles 3, use class org.springframework.web.servlet.view.tiles3.TilesConfigurer
. Make sure you have that in spring webmvc
.