Java.Lang.Classnotfoundexception: Com.Sun.Jersey.Spi.Container.Servlet.Servletcontainer [Solution]

The mistake message clearly says that Java runtime is non able to discovery a shape called ServletContainer for Bailiwick of Jersey library. This is the Servlet shape you lot convey specified inward the deployment descriptor of your application. It's similar to DispatcherServlet of Spring MVC as well as this mistake is similar to the error you larn when DisplayServlet was non inward the classpath.
Anyway, java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer comes when you lot are trying to purpose Bailiwick of Jersey but convey non added required dependency on your classpath e.g. those JAR files which comprise the shape "com.sun.jersey.spi.container.servlet.ServletContainer".


Analysis 

Bailiwick of Jersey is an opened upward root Java library, which allows you lot to write RESTful Web Services inward Java. Bailiwick of Jersey 2.x implements JAX-RS 2.0 API as well as Bailiwick of Jersey 2.17 is the most recent loose of Jersey, but "java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer" is related to Jersey 1.x because inward Bailiwick of Jersey 2.x this shape is moved into around other packet org.glassfish.jersey. So if you lot convey configured your web.xml similar shown here


<?xml version="1.0" encoding="UTF-8"?> <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"> <display-name>JerseyServer</display-name> <servlet>     <servlet-name>Jersey REST Service</servlet-name>     <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>     <init-param>         <param-name>com.sun.jersey.config.property.packages</param-name>         <param-value>com.sample.jerseydemo</param-value>     </init-param>     <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping>     <servlet-name>Jersey REST Service</servlet-name>     <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app>

but doesn't convey Bailiwick of Jersey 1.x dependency thus you lot volition larn this error.

Cause of com.sun.jersey.spi.container.servlet.ServletContainer

The mistake message says "com.sun.jersey.spi.container.servlet.ServletContainer" shape is non available inward the classpath.  Now you lot ask to empathise 2 things, commencement on which JAR file this shape is present as well as second what is your classpath.


If you lot are facing this work inward a Java spider web application e.g. inward Tomcat, you lot must recollect that dependency JARs are loaded past times the WebappClassLoader from the WEB-INF/lib directory.

So to solve this error, you lot but download Bailiwick of Jersey 1.19 JAR bundle as well as pose that inward your Java spider web application's WEB-INF directory. Bailiwick of Jersey 1.19 JAR bundle is a single-JAR Bailiwick of Jersey bundle to avoid the dependency management of multiple Bailiwick of Jersey module JARs as well as tin last downloaded from https://jersey.java.net/download.html.

If you lot are using Maven you lot tin solve this mistake past times including the next dependency inward your pom.xml file. When you lot construct WAR file using Maven it volition automatically re-create all dependency inward WEB-INF/lib folder.

Another crusade of this work is that wrong dependency (JAR files) inward ClassPath. Some developer includes Bailiwick of Jersey 2 JAR files as well as puzzled why Java is nonetheless complaining almost "com.sun.jersey.spi.container.servlet.ServletContainer", good at that spot is a meaning divergence betwixt Bailiwick of Jersey 1x as well as Bailiwick of Jersey 2.x inward price of this class. In Bailiwick of Jersey 2 this shape is moved from "com.sun.jersey" packet to "org.glassfish.jersey" package. So fifty-fifty if you lot convey downloaded Bailiwick of Jersey 2 JAR file you lot volition nonetheless larn this error.

If you lot are non certain how to discovery which JAR a detail shape belongs to, you lot tin e'er purpose search type shortcut Ctrl + T to discovery the JAR file provided you lot are using Eclipse. I am certain other IDE similar Netbeans as well as IntelliJ likewise has a similar shortcut, whatever Netbeans or IDEA lover hither to help?

If you lot are non certain where to download a JAR file, larn to the Maven http://repo1.maven.org/maven2/com/sun/jersey/jersey-bundle/1.17.1/jersey-bundle-1.17.1.jar

I am using Bailiwick of Jersey 1.17 as well as it appears that equally far dorsum equally 1.12, the Servlet module is refactored into its ain jolt (outside jersey-server.jar). This novel jolt is called jersey-servlet.jar.

com.sun.jersey.spi.container.servlet.ServletContainer Solution

As you lot are using com.sun.jersey.spi.container.servlet.ServletContainer inward your web.xml equally your servlet, you lot ask to include jersey-servlet.jar inward your dependencies. This tin last inward the shape of Maven dependencies to it volition larn packaged within the nation of war file.


Eclipse as well as Tomcat

If you lot are trying to brand a Web application to supply spider web service using Bailiwick of Jersey library inward Tomcat as well as Eclipse as well as nonetheless getting work afterwards adding jersey-server.jar inward the classpath. You tin follow these steps to add together dependency on deployment assembly

Project -> properties -> evolution assembly -> add together -> coffee construct path entries -> maven dependency

 The mistake message clearly says that Java runtime is non able to discovery a shape called java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer [Solution]


That's all almost what causes the com.sun.jersey.spi.container.servlet.ServletContainer mistake as well as how to solve com.sun.jersey.spi.container.servlet.ServletContainererror inward Java spider web application. As I explained, at that spot could last 2 reasons, wrong classpath, where you lot convey non added jersey-servlet.jar inward the classpath, or you lot are using jersey 2.x JAR files but convey configured web.xml for Bailiwick of Jersey 1.x

Further Learning
steps]
  • General Guide to solve java.lang.ClassNotFoundException inward Java [guide]
  • How to solve java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver inward Java? [solution]
  • How to solve java.lang.UnsatisfiedLinkError: no ocijdbc11 inward Java [solution]
  • How to ready java.lang.ClassNotFoundException: org.postgresql.Driver mistake inward Java? [solution]
  • How to solve 
  • Exception inward thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 [solution]
  • java.lang.ClassNotFoundException:org.Springframework.Web.Context.ContextLoaderListener [solution]
  • How to solve java.lang.ClassNotFoundException: com.mysql.jdbc.Driver inward Java MySQL? [solution]
  • java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory? [solution]
  • How to solve java.lang.classnotfoundexception sun.jdbc.odbc.jdbcodbcdriver [solution]
  • java.net.SocketException: Failed to read from SocketChannel: Connection reset past times peer [fix]
  • Exception inward thread "main" java.lang.ExceptionInInitializerError inward Java Program [fix]
  • 2 ways to solve Unsupported major.minor version 51.0 mistake inward Java [solutions]
  • Fixing Unsupported major.minor version 52.0 Error inward Java [solution]
  • java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver [solution
  • java.io.IOException: Map failed as well as java.lang.OutOfMemoryError: Map failed  [fix]
  • java.net.BindException: Cannot assign requested address: JVM_Bind [fix]
  • org.hibernate.MappingException: Unknown entity Exception inward Java [solution]
  • java.net.SocketException: Too many files opened upward java.io.IOException [solution]
  • How to last a successful application architect for Java EE applications (read more)
  • 0 Response to "Java.Lang.Classnotfoundexception: Com.Sun.Jersey.Spi.Container.Servlet.Servletcontainer [Solution]"

    Post a Comment

    Iklan Atas Artikel

    Iklan Tengah Artikel 1

    Iklan Tengah Artikel 2

    Iklan Bawah Artikel