user2010955
user2010955

Reputation: 4011

Type mismatch: cannot convert from Tag to JspTag

I'm creating a web application with Spring, Hibernate, RichFaces, Myfaces running on WebLogic 10.3.5

This is my pom.xml

<properties>
    <spring.version>4.0.2.RELEASE</spring.version>
    <junit.version>4.11</junit.version>
    <log4j.version>1.2.17</log4j.version>
    <myfaces.version>2.2.0</myfaces.version>
    <tomahawk.version>1.1.14</tomahawk.version>
    <jstl.version>1.2</jstl.version>
    <commons-beanutils.version>1.9.1</commons-beanutils.version>
    <commons-collections.version>3.2.1</commons-collections.version>
    <commons-digester.version>2.1</commons-digester.version>
    <commons-logging.version>1.1.3</commons-logging.version>
    <jhighlight.version>1.0</jhighlight.version>
    <richfaces.version>3.3.3.Final</richfaces.version>
    <hibernate.version>3.6.10.Final</hibernate.version>
    <javassist.version>3.12.1.GA</javassist.version>
    <poi.version>3.9</poi.version>
</properties>

<dependencies>

    <!-- Log4J -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
    </dependency>

    <!-- Spring 4 dependencies -->

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jms</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>



    <!-- jUnit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>



    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
    </dependency>

    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>${javassist.version}</version>
    </dependency>


    <!-- Myfaces -->
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-api</artifactId>
        <version>${myfaces.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-impl</artifactId>
        <version>${myfaces.version}</version>
    </dependency>

    <!-- TomaHawk -->

    <dependency>
        <groupId>org.apache.myfaces.tomahawk</groupId>
        <artifactId>tomahawk20</artifactId>
        <version>${tomahawk.version}</version>
    </dependency>


    <!-- JSTL per RichFaces -->
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>${jstl.version}</version>
    </dependency>

    <!-- commons-beanutils per RichFaces -->
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>${commons-beanutils.version}</version>
    </dependency>

    <!-- Commons Collections per RichFaces -->
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons-collections.version}</version>
    </dependency>

    <!-- Commons Digester per RichFaces -->
    <dependency>
        <groupId>commons-digester</groupId>
        <artifactId>commons-digester</artifactId>
        <version>${commons-digester.version}</version>
    </dependency>

    <!-- Commons Logging per RichFaces -->
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons-logging.version}</version>
    </dependency>

    <!-- jHighlight per RichFaces -->

    <dependency>
        <groupId>com.uwyn</groupId>
        <artifactId>jhighlight</artifactId>
        <version>${jhighlight.version}</version>
    </dependency>


    <!-- RichFaces -->

    <dependency>
        <groupId>org.richfaces.framework</groupId>
        <artifactId>richfaces-impl-jsf2</artifactId>
        <version>${richfaces.version}</version>
    </dependency>

    <dependency>
        <groupId>org.richfaces.ui</groupId>
        <artifactId>richfaces-ui</artifactId>
        <version>${richfaces.version}</version>
    </dependency>

    <dependency>
        <groupId>org.richfaces.framework</groupId>
        <artifactId>richfaces-api</artifactId>
        <version>${richfaces.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>${poi.version}</version>
    </dependency>

I have no compilation errors. I have the following settings in the Project Facets into Eclipse:

  1. Dynamic Web Module 2.5
  2. Java 1.6
  3. Oracle WebLogic Web App Extensions 10.3.5

When I run it I got the following errors on every jsp page I'm trying to display:

Type mismatch: cannot convert from Tag to JspTag

followed by each jsp or jsf tag it contains.

Type mismatch: cannot convert from Tag to JspTag
<%  ^
} 

Cannot cast from JspContext to PageContext

Type mismatch: cannot convert from LoadBundleTag to JspTag

etc etc...

Do you know how I could fix it?

I've noticed that if I put the following tag in the weblogic.xml file, the home page works, but for the other pages I got those errors:

 <wls:container-descriptor>
    <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
</wls:container-descriptor

Can you help me please?

Thanks

Upvotes: 0

Views: 2960

Answers (1)

M&#225;rio Lameiras
M&#225;rio Lameiras

Reputation: 31

You are deploying you webapp on an Application Server (Weblogic) that already provides you with base Java EE libraries.

You probably have inside your WEB-INF/lib libraries that you needed to compile your code but shouldn't be deployed on the application server as they're already provided.

Search for j2ee.jar or servletapi.jar inside your webapp

One easy way for you to see which libraries contain the class JspTag inside your webapp is to do:

grep -nr 'JspTag' *

These libraries should not be inside your WEB-INF/lib folder as they are provided by the Application Server already

Upvotes: 3

Related Questions