0

I've created a Maven Project (eng_comparison) in Eclipse IDE, with jersey-quickstart-webapp archetype.

EngComparator.java

 package com.zoo.web.eng.eng_comparison;

    import java.io.FileNotFoundException;
    import java.io.IOException;

    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.MediaType;
    import com.adv.zoo.web.model.auto.EngProvider;
    import com.adv.zoo.web.model.auto.EngProviderImpl;


    @Path("compare")
    public class EngComparator {

        public static String data = "safe";

        @GET
        @Produces(MediaType.TEXT_PLAIN)
      public String fetchContent() throws FileNotFoundException, IOException, Throwable {

          EngProvider engProvider =   new EngProviderImpl();

          String content = engProvider.getEng(data);

          return content;

      }
    }

where EngProvider(interface) and EngProviderImpl(Class) are included in the project as a jar file.

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<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">

  <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <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>com.zoo.web.eng.eng_comparison</param-value>
      </init-param>
  </servlet>
  <servlet-mapping>
      <servlet-name>Jersey Web Application</servlet-name>
      <url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>

While running this project on tomcat server (9.0), I'm the getting the following error.

Internal Server Exception - Http Status 500

NoClassDefFoundError : com/adv/zoo/web/model/auto/EngProvider Root Cause : java.lang.NoClassDefFoundError

ClassNotFoundException : com.adv.zoo.web.model.auto.EngProvider Root Cause : java.lang.ClassNotFoundException

NOTE : I've added the EngProvider interface and EngProviderImpl class as a jar in the build path of the project, but still it's showing this error. I'm trying to call a method which is in the JAR file (added to build path)

But when I run the project as a java application, it is working fine.

My Project Structure :

My Project Structure

0 Answers0