Код Tomcat 8.5 / java не работает после развертывания на AWS - PullRequest
0 голосов
/ 25 февраля 2020

Я получаю javax.servlet.ServletException: java.lang.NoClassDefFoundError: После развертывания моего файла войны (который содержит jsp, который вызывает класс проекта tomcat) в AWS elasti c beanstalk.

мой индекс. jsp:

<%@page import="SUPPORT.Constants"%>
<!DOCTYPE html>`
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->


    <head>
        <title>Create google AdWords session</title>
        <!--<meta charset="UTF-16LE">-->
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <!-- <link rel="stylesheet" type="text/css" href="CSS/stylesheet.css"> -->
    </head>
    <body>
        <%=Constants.getWelcome()%>
    </body>

В моих пакетах с исходным кодом NetBeans * Раздел 1008 * в Проекты * Вкладка У меня есть пакет SUPPORT, содержащий класс с именем Constants.

Этот класс имеет метод: public String getWelcome() {return "Hello World";}

Это выглядит так:

package SUPPORT;

public class Constants
{
    public static String getWelcome()
       {return "Hello World";}
}

Код работает нормально локально, но после развертывания TI Elasti c beanStalk на AWS У меня есть следующие ошибка 500:

HTTP Status 500 – Internal Server Error
Type Exception Report

Message An exception occurred processing [/index.jsp] at line [20]

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

Exception

org.apache.jasper.JasperException: An exception occurred processing [/index.jsp] at line [20]

19:     <body>
20:         <%=Constants.getWelcome()%>
21:     </body>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:499)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class SUPPORT.Constants
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:909)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:838)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:146)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

java.lang.NoClassDefFoundError: Could not initialize class SUPPORT.Constants
    org.apache.jsp.index_jsp._jspService(index_jsp.java:130)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.

Дополнительно:

  1. Проблема не возникала при развертывании службы с Tomcat 8.0.27 на AWS.

  2. У меня возникла эта проблема после перехода на Tomcat 8.5.51 (только на AWS - локально работает код - на моем компьютере проблем нет).

  3. Моя версия AWS tomcat установлена ​​в Elasti c beanstalk для версии 8.5.

  4. Проект построен и построен на Netbeans с использованием Ant (потому что это старый проект и мой первый проект).

  5. Кажется, что tomcat / web-сервис не видит своих собственных классов.

  6. Я использую java 8, обновление 241.

Пожалуйста, помогите мне решить эту проблему.

...