Kent
Kent

Reputation: 2960

Can not find the tag library descriptor for tiles when using Maven

Here is my config in web.xml file

<listener>
    <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
</listener>

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Here is the config in pom.xml

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.2.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-spring-plugin</artifactId>
        <version>2.2.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-jsp</artifactId>
        <version>2.2.2</version>
        <type>pom</type>
        <scope>compile</scope>
    </dependency>

It keeps saying this: Can not find the tag library descriptor for "http://struts.apache.org/tags-tiles" when I add taglib into layout:

<%@ taglib prefix="tiles" uri="http://struts.apache.org/tags-tiles"%>

And when I run on server:

SEVERE: Error configuring application listener of class org.apache.struts2.tiles.StrutsTilesListener

Did I miss something here?

Upvotes: 6

Views: 16151

Answers (3)

Kent
Kent

Reputation: 2960

Thanks to Kenny Lee I found out the solution for this one after weeks :(( You’ll need to configure your eclipse project settings by:

  1. Right click on the project in eclipse on the left panel under the package explorer view.
  2. Click Java EE Module Dependencies.
  3. Check (make sure the checkbox is ticked) the Maven Dependencies option (the last option).

For Eclipse 3.6 Click Here for more information

Sometimes after configuration you have to refresh the project or use mvn clean and mvn install and it will do the tricks

Upvotes: 4

Raghuram
Raghuram

Reputation: 52625

How about using the dependency versions as specified in this example to see if it works?

As answered in your related question, it looks like struts2-tiles dependency is required and maybe you do not need struts2-spring-plugin.

Upvotes: 0

happymeal
happymeal

Reputation: 1413

your web.xml is missing the taglib declaration:

<taglib>
  <taglib-uri>
    http://struts.apache.org/tags-tiles
  </taglib-uri>
  <taglib-location>
    /WEB-INF/tags-tiles.tld
  </taglib-location>
</taglib>

Upvotes: 0

Related Questions