title: strutstileslistener not found in struts 2 tiles program
body: <p>i cant find what is wrong with my application. Using struts 2 and tiles. web.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  id="WebApp_ID" version="2.5"&gt;
  &lt;display-name&gt;strutsForScoodle&lt;/display-name&gt;
  
  &lt;context-param&gt;
  &lt;param-name&gt;
    org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
  &lt;/param-name&gt;
  &lt;param-value&gt;
    /WEB-INF/tiles.xml
  &lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;listener&gt;
  &lt;listener-class&gt;
    org.apache.struts2.tiles.StrutsTilesListener
  &lt;/listener-class&gt;
  &lt;/listener&gt;
  
  &lt;filter&gt;
  &lt;filter-name&gt;struts2&lt;/filter-name&gt;
  &lt;filter-class&gt;
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  &lt;/filter-class&gt;
  &lt;/filter&gt;
  
  &lt;filter-mapping&gt;
    &lt;filter-name&gt;struts2&lt;/filter-name&gt;
    &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
  &lt;/filter-mapping&gt;
  
  &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;login.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p>Tiles.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  
  &lt;!DOCTYPE tiles-definitions PUBLIC
     "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
     "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"&gt;
  
  &lt;tiles-definitions&gt;
  &lt;definition name="baseLayout" template="/WEB-INF/content/tiles/BaseLayout.jsp"&gt;
  &lt;put-attribute name="title" value="" /&gt;
  &lt;put-attribute name="header" value="/WEB-INF/content/tiles/Header.jsp" /&gt;
  &lt;put-attribute name="body" value="" /&gt;
  &lt;put-attribute name="footer" value="/WEB-INF/content/tiles/Footer.jsp" /&gt;
  &lt;/definition&gt;
  &lt;definition name="logoff.tiles" extends="baseLayout"&gt;
  &lt;put-attribute name="title" value="Logoff" /&gt;
  &lt;put-attribute name="body" value="/WEB-INF/content/tiles/logoff.jsp" /&gt;
  &lt;/definition&gt;
  &lt;definition name="createSurvey.tiles" extends="baseLayout"&gt;
  &lt;put-attribute name="title" value="create Survey" /&gt;
  &lt;put-attribute name="body" value="/WEB-INF/content/tiles/createSurvey.jsp" /&gt;
  &lt;/definition&gt;
  &lt;/tiles-definitions&gt;
  </code></pre>
  
  <p>struts.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  
  &lt;!DOCTYPE struts PUBLIC
      "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
      "http://struts.apache.org/dtds/struts-2.0.dtd"&gt;
  
  &lt;struts&gt;
  
  &lt;package name="default" extends="struts-default"&gt;
    &lt;result-types&gt;
       &lt;result-type name="tiles" 
       class="org.apache.struts2.views.tiles.TilesResult" /&gt;
    &lt;/result-types&gt;
  
    &lt;action name="*Navigate" method="{1}" 
       class="de.umfragetool.action.NavigateAction"&gt;
       &lt;result name="overview" type="tiles"&gt;overview&lt;/result&gt;
       &lt;result name="logoff" type="tiles"&gt;logoff&lt;/result&gt;
       &lt;result name="createSurvey" type="tiles"&gt;createSurvey&lt;/result&gt;
    &lt;/action&gt;
  
    &lt;/package&gt;
   &lt;/struts&gt;
  </code></pre>
  
  <p>and the pom.xml from maven looks like this:</p>
  
  <pre><code>&lt;project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  &lt;groupId&gt;Struts4Scoodle&lt;/groupId&gt;
  &lt;artifactId&gt;Struts4Scoodle&lt;/artifactId&gt;
  &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
  &lt;packaging&gt;war&lt;/packaging&gt;
  &lt;name&gt;Scoodle&lt;/name&gt;
  &lt;description&gt;Scoodle Tool&lt;/description&gt;
  &lt;build&gt;
  &lt;sourceDirectory&gt;src&lt;/sourceDirectory&gt;
  &lt;plugins&gt;
    &lt;plugin&gt;
      &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
      &lt;version&gt;3.1&lt;/version&gt;
      &lt;configuration&gt;
        &lt;source&gt;1.7&lt;/source&gt;
        &lt;target&gt;1.7&lt;/target&gt;
      &lt;/configuration&gt;
    &lt;/plugin&gt;
    &lt;plugin&gt;
      &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
      &lt;version&gt;2.3&lt;/version&gt;
      &lt;configuration&gt;
        &lt;warSourceDirectory&gt;WebContent&lt;/warSourceDirectory&gt;
        &lt;failOnMissingWebXml&gt;false&lt;/failOnMissingWebXml&gt;
      &lt;/configuration&gt;
    &lt;/plugin&gt;
   &lt;/plugins&gt;
    &lt;/build&gt;
   &lt;dependencies&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;junit&lt;/groupId&gt;
          &lt;artifactId&gt;junit&lt;/artifactId&gt;
          &lt;version&gt;3.8.1&lt;/version&gt;
          &lt;scope&gt;test&lt;/scope&gt;
      &lt;/dependency&gt;
                      &lt;!--        struts --&gt;
  &lt;dependency&gt;
  &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
  &lt;artifactId&gt;struts2-core&lt;/artifactId&gt;
  &lt;version&gt;2.3.15.2&lt;/version&gt;
  &lt;/dependency&gt;
  
  &lt;dependency&gt;
  &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
  &lt;artifactId&gt;struts2-convention-plugin&lt;/artifactId&gt;
  &lt;version&gt;2.3.15.2&lt;/version&gt;
  &lt;/dependency&gt;
  &lt;!--                            tiles --&gt;
  &lt;dependency&gt;
  &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
  &lt;artifactId&gt;struts2-tiles-plugin&lt;/artifactId&gt;
  &lt;version&gt;2.3.15.2&lt;/version&gt;
  &lt;scope&gt;compile&lt;/scope&gt;
  &lt;/dependency&gt;
  
  &lt;dependency&gt;
  &lt;groupId&gt;org.apache.tiles&lt;/groupId&gt;
  &lt;artifactId&gt;tiles-core&lt;/artifactId&gt;
  &lt;version&gt;3.0.1&lt;/version&gt;
  &lt;/dependency&gt;
  
  &lt;dependency&gt;
  &lt;groupId&gt;org.apache.tiles&lt;/groupId&gt;
  &lt;artifactId&gt;tiles-servlet&lt;/artifactId&gt;
  &lt;version&gt;3.0.1&lt;/version&gt;
  &lt;/dependency&gt;
  
  &lt;dependency&gt;
  &lt;groupId&gt;org.apache.tiles&lt;/groupId&gt;
  &lt;artifactId&gt;tiles-compat&lt;/artifactId&gt;
  &lt;version&gt;3.0.1&lt;/version&gt;
  &lt;/dependency&gt;
  
  &lt;/dependencies&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>with all of this i am getting this failure:</p>
  
  <blockquote>
    <p>`Okt 17, 2013 8:34:41 PM org.apache.catalina.core.AprLifecycleListener
    init Information: The APR based Apache Tomcat Native library which
    allows optimal performance in production environments was not found on
    the java.library.path: C:\Program
    Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
    Files (x86)\MiKTeX 2.9\miktex\bin\;C:\Program
    Files\Java\jdk1.7.0_40;C:\apache-maven-3.1.1-bin\apache-maven-3.1.1\bin;.
    Okt 17, 2013 8:34:41 PM
    org.apache.tomcat.util.digester.SetPropertiesRule begin Warnung:
    [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting
    property 'source' to 'org.eclipse.jst.jee.server:Struts4Scoodle' did
    not find a matching property. Okt 17, 2013 8:34:41 PM
    org.apache.coyote.AbstractProtocolHandler init Information:
    Initializing ProtocolHandler ["http-bio-8080"] Okt 17, 2013 8:34:41 PM
    org.apache.coyote.AbstractProtocolHandler init Information:
    Initializing ProtocolHandler ["ajp-bio-8009"] Okt 17, 2013 8:34:41 PM
    org.apache.catalina.startup.Catalina load Information: Initialization
    processed in 561 ms Okt 17, 2013 8:34:41 PM
    org.apache.catalina.core.StandardService startInternal Information:
    Starting service Catalina Okt 17, 2013 8:34:41 PM
    org.apache.catalina.core.StandardEngine startInternal Information:
    Starting Servlet Engine: Apache Tomcat/7.0.12 Okt 17, 2013 8:34:42 PM
    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.defineClass(Unknown Source)     at
    java.security.SecureClassLoader.defineClass(Unknown Source)   at
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
      at
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1148)
      at
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1643)
      at
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
      at
    org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
      at
    org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
      at
    org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
      at
    org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4638)
      at
    org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
      at
    org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
      at java.util.concurrent.FutureTask.run(Unknown Source)  at
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)     at
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)    at
    java.lang.Thread.run(Unknown Source) Caused by:
    java.lang.ClassNotFoundException:
    org.apache.tiles.web.startup.TilesListener    at
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
      at
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
      ... 17 more</p>
    
    <p>Okt 17, 2013 8:34:42 PM org.apache.catalina.core.StandardContext
    listenerStart Schwerwiegend: Skipped installing application listeners
    due to previous error(s) Okt 17, 2013 8:34:42 PM
    org.apache.catalina.core.StandardContext startInternal Schwerwiegend:
    Error listenerStart Okt 17, 2013 8:34:42 PM
    org.apache.catalina.core.StandardContext startInternal Schwerwiegend:
    Context [/Struts4Scoodle] startup failed due to previous errors Okt
    17, 2013 8:34:42 PM org.apache.coyote.AbstractProtocolHandler start
    Information: Starting ProtocolHandler ["http-bio-8080"] Okt 17, 2013
    8:34:42 PM org.apache.coyote.AbstractProtocolHandler start
    Information: Starting ProtocolHandler ["ajp-bio-8009"] Okt 17, 2013
    8:34:42 PM org.apache.catalina.startup.Catalina start Information:
    Server startup in 739 ms`</p>
  </blockquote>
  
  <p>this is the first time i will use Tiles and i dont get it. Thank you very much.</p>