Я получаю эту ошибку: Состояние HTTP 500 — внутренняя ошибка сервера (Eclipse, Tomcat8.5, Java)

Я получаю сообщение об ошибке при запуске кода, и я понятия не имею, что означает ошибка. Я использую Eclipse с сервером Tomcat версии 8.5. Ошибка говорит о статусе HTTP 500 — внутренняя ошибка сервера. Я пробовал все, но я не мог запустить его вообще. Любая помощь будет высоко оценена.

это код

package test;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@Path("/hello")
public class Hello {
    
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String sayHelloJSon() {
        String resource = null;
        return resource;
    }
    
    @GET
    @Produces(MediaType.TEXT_HTML)
    public String sayHelloHTML(@QueryParam("name") String name, @QueryParam("Card_no") String Card_no, @QueryParam("amount") int amount) {
        System.out.println("Name is " + name);
        System.out.println("Amount is " + amount);
        String response;
        
        if(amount > 100000) {
            System.out.println("Amount is greater than 1 Lakh");
            response = "Credit card not approved";
            
        }else {
            System.out.println("Amount is lesser than 1 Lakh");
            response = "Approved";
        }
        return "<html>" + "<title>" + "CC Authorization" + name + "</title>"
                + "<body><h1>" + response + "</h1></body>" + "</html>";
        
    }
}

и это ошибка, которую я получаю

Type Exception Report

Message Servlet.init() for servlet [JAVA API] threw exception

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception
javax.servlet.ServletException: Servlet.init() for servlet [JAVA API] threw exception
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:832)


Root Cause
java.lang.IllegalArgumentException
    jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
    jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
    jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:424)
    org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener.process(AnnotationAcceptingListener.java:170)
    org.glassfish.jersey.server.ResourceConfig.scanClasses(ResourceConfig.java:892)
    org.glassfish.jersey.server.ResourceConfig._getClasses(ResourceConfig.java:849)
    org.glassfish.jersey.server.ResourceConfig.getClasses(ResourceConfig.java:755)
    org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.<init>(ResourceConfig.java:1181)
    org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.<init>(ResourceConfig.java:1154)
    org.glassfish.jersey.server.ResourceConfig.createRuntimeConfig(ResourceConfig.java:1150)
    org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:318)
    org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:285)
    org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
    org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170)
    org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:832)

Я буду очень признателен за вашу помощь. Спасибо!


person amydeb    schedule 10.11.2020    source источник
comment
К сожалению, сообщение об ошибке слишком расплывчато. Возможно, вам придется научиться пользоваться отладчиком. Пусть ваша IDE загрузит исходники для всех ваших библиотек и запустит tomcat с помощью JPDA_SUSPEND=y ./catalina.sh jpda start или эквивалента Windows, если вы используете Windows.   -  person coladict    schedule 10.11.2020
comment
Вы используете слишком старую версию Джерси (или слишком новую версию Java, в зависимости от того, как вы на это смотрите). Либо обновите Джерси, как в дубликате, либо используйте для этого Java 8.   -  person Kayaman    schedule 10.11.2020