java.lang.ClassCastException: org.glassfish.jersey.servlet.ServletContainer cannot be cast to javax.servlet.Servlet

user3770101

I'm unable to start my webapp on my Tomcat 7.0 Server because of the following error :

java.lang.ClassCastException: org.glassfish.jersey.servlet.ServletContainer cannot be cast to javax.servlet.Servlet

My web.xml , which include the ServlectContainer :

<?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
 see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>fr.tessi</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
</web-app>

And here's my pom.xml :

<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/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>fr.tessi</groupId>
<artifactId>cassandra-cli-back</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>cassandra-cli-back</name>

<build>
    <finalName>cassandra-cli-back</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <inherited>true</inherited>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey</groupId>
            <artifactId>jersey-bom</artifactId>
            <version>${jersey.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
        <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
        <!-- artifactId>jersey-container-servlet</artifactId -->
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
    </dependency>
    <dependency>
        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-core</artifactId>
        <version>1.56.48</version>
    </dependency>
    <dependency>
        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-cassandra</artifactId>
        <version>1.56.48</version>
    </dependency>
    <dependency>
        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-thrift</artifactId>
        <version>1.56.48</version>
    </dependency>
    <!-- <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.6.1</version>
    </dependency> -->

</dependencies>
<properties>
    <jersey.version>2.6</jersey.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jackson-2-version>2.4.3</jackson-2-version>
</properties>

Despite the scope provided on the 'servlet-api' dependency, it's still downloaded on stratup.

Already tried to change the servlet-class with multiples classes found on StackOverFlow and other websites, but no results. It keep sending an error.

`

user3770101

My colleague sorted out the problem. Basically, dependencies conflict. Here is the functionnal dependencies' list :

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <!-- if your container implements Servlet API older than 3.0, use "jersey-container-servlet-core" -->
        <artifactId>jersey-container-servlet</artifactId>
        <version>2.13</version>
    </dependency>
    <!-- Required only when you are using JAX-RS Client -->
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>2.13</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
        <version>2.13</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>


    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <!-- note: typically only ".0" patch version exists for core annotations -->
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>




        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-core</artifactId>
        <version>1.56.48</version>
    </dependency>
    <dependency>
        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-cassandra</artifactId>
        <version>1.56.48</version>
        <exclusions>
            <exclusion>
                <artifactId>servlet-api</artifactId>
                <groupId>org.mortbay.jetty</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-thrift</artifactId>
        <version>1.56.48</version>
    </dependency>
    <!-- <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> 


        <version>1.6.1</version> </dependency> -->


</dependencies>
<properties>
    <jersey.version>2.13</jersey.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jackson-2-version>2.4.3</jackson-2-version>
</properties>

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer

From Dev

Issue: java.lang.UnsupportedClassVersionError: org/glassfish/jersey/servlet/ServletContainer

From Dev

javax.servlet.ServletException: Class [org.glassfish.jersey.servlet.ServletContainer] is not a Servlet

From Dev

org.glassfish.jersey.servlet.ServletContainer ClassNotFoundException

From Dev

java.lang.ClassCastException: Servlet.Telnet cannot be cast to javax.servlet.Servlet

From Dev

Error instantiating servlet class org.glassfish.jersey.servlet.ServletContainer

From Dev

Tomcat Jersey Eclipse ClassNotFound org.glassfish.jersey.servlet.ServletContainer

From Dev

java.lang.ClassCastException: Cannot cast com.sun.faces.config.FacesInitializer to javax.servlet.ServletContainerInitializer

From Dev

javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/xml/sax/helpers/DefaultHandler

From Dev

javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/json/JSONObject

From Dev

RepositoryRestMvcConfiguration cannot be cast to javax.servlet.Servlet

From Dev

org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher cannot be cast to javax.servlet.Servlet

From Java

java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer

From Dev

JBoss 7: ClassCastException: MyCustomTag cannot be cast to javax.servlet.jsp.tagext.Tag

From Dev

How to fix 'cannot be cast to javax.servlet.Servlet' error while trying to package REST App with Servlet

From Dev

java.lang.NoClassDefFoundError: javax/servlet/ServletContext

From Dev

ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer

From Dev

Does javax.servlet.error.exception attribute always cast to java.lang.Exception type?

From Dev

Object cannot be cast to javax.servlet.http.HttpServletRequest with Spring WebFlow

From Dev

Getting started with Java RESTful service using javax, and Jersey Servlet dispatcher

From Dev

HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/hibernate/Session

From Dev

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream

From Dev

WARNING: StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception java.lang.NullPointerException glassfish

From Dev

Serving static resources with ServletContainer as Servlet

From Dev

javax servlet filter vs jersey filter

From Dev

Java Spring MVC - java.lang.NoClassDefFoundError: javax/servlet/ServletContext

From Dev

Getting java.lang.ClassNotFoundException: javax.servlet.ServletContext in JUnit

From Dev

javax.servlet.ServletException: java.lang.LinkageError

From Dev

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet

Related Related

  1. 1

    java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer

  2. 2

    Issue: java.lang.UnsupportedClassVersionError: org/glassfish/jersey/servlet/ServletContainer

  3. 3

    javax.servlet.ServletException: Class [org.glassfish.jersey.servlet.ServletContainer] is not a Servlet

  4. 4

    org.glassfish.jersey.servlet.ServletContainer ClassNotFoundException

  5. 5

    java.lang.ClassCastException: Servlet.Telnet cannot be cast to javax.servlet.Servlet

  6. 6

    Error instantiating servlet class org.glassfish.jersey.servlet.ServletContainer

  7. 7

    Tomcat Jersey Eclipse ClassNotFound org.glassfish.jersey.servlet.ServletContainer

  8. 8

    java.lang.ClassCastException: Cannot cast com.sun.faces.config.FacesInitializer to javax.servlet.ServletContainerInitializer

  9. 9

    javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/xml/sax/helpers/DefaultHandler

  10. 10

    javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/json/JSONObject

  11. 11

    RepositoryRestMvcConfiguration cannot be cast to javax.servlet.Servlet

  12. 12

    org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher cannot be cast to javax.servlet.Servlet

  13. 13

    java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer

  14. 14

    JBoss 7: ClassCastException: MyCustomTag cannot be cast to javax.servlet.jsp.tagext.Tag

  15. 15

    How to fix 'cannot be cast to javax.servlet.Servlet' error while trying to package REST App with Servlet

  16. 16

    java.lang.NoClassDefFoundError: javax/servlet/ServletContext

  17. 17

    ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer

  18. 18

    Does javax.servlet.error.exception attribute always cast to java.lang.Exception type?

  19. 19

    Object cannot be cast to javax.servlet.http.HttpServletRequest with Spring WebFlow

  20. 20

    Getting started with Java RESTful service using javax, and Jersey Servlet dispatcher

  21. 21

    HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/hibernate/Session

  22. 22

    javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream

  23. 23

    WARNING: StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception java.lang.NullPointerException glassfish

  24. 24

    Serving static resources with ServletContainer as Servlet

  25. 25

    javax servlet filter vs jersey filter

  26. 26

    Java Spring MVC - java.lang.NoClassDefFoundError: javax/servlet/ServletContext

  27. 27

    Getting java.lang.ClassNotFoundException: javax.servlet.ServletContext in JUnit

  28. 28

    javax.servlet.ServletException: java.lang.LinkageError

  29. 29

    java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet

HotTag

Archive