Я получаю 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.
Дополнительно:
Проблема не возникала при развертывании службы с Tomcat 8.0.27 на AWS.
У меня возникла эта проблема после перехода на Tomcat 8.5.51 (только на AWS - локально работает код - на моем компьютере проблем нет).
Моя версия AWS tomcat установлена в Elasti c beanstalk для версии 8.5.
Проект построен и построен на Netbeans с использованием Ant (потому что это старый проект и мой первый проект).
Кажется, что tomcat / web-сервис не видит своих собственных классов.
Я использую java 8, обновление 241.
Пожалуйста, помогите мне решить эту проблему.