将ECLIPSE Java Web应用程序Servlet部署到AWS时无法正常工作

vaj7vani  于 2022-10-15  发布在  Eclipse
关注(0)|答案(1)|浏览(180)

我使用弹性豆茎和项目.WAR文件在AWS上托管了我的第一个EE Java Web应用程序。环境是带有Coretto 11(64位Amazon Linux 2)的Tomcat 8.5,该项目针对Tomcat 8.5进行了优化。该项目在eclipse中工作得很好,但在部署到豆茎环境中时就不好了。
这是我的项目目录:https://i.stack.imgur.com/2NG1C.png
Index.jsp中的AJAX请求:

$(document).ready(function () {

            $.ajax({
                type : 'POST',
                url : 'ExampleServlet',
                data : {},
                success : function(returnValue) {
                    document.getElementById('test').innerHTML = 'Success';
                },
                error : function(req, err) {document.getElementById('test').innerHTML = 'error';}
            });

        });

示例Servlet:

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet;

@WebServlet("/ExampleServlet")   
public class ExampleServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public ExampleServlet() {
        super();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

这是一个简单的POST请求,但一旦部署,它就会一直显示错误。我没有使用Maven、SpringBoot等。
编辑:
编辑:在ssh之后,我终于找到了正确的日志示例:/var/log/tomcat/localhost.[date].log
https://imgur.com/a/Wcnp1qt
08-OCT-2022年14:11:48.182严重[http-NIO-8080-EXEC-4]org.apache.catalina.core.StandardWrapperValve.invoke分配Servlet异常[ExampleServlet]java.lang.UnsupportedClassVersionError:ExampleServlet已由较新版本的Java Runtime(类文件版本61.0)编译,此版本的Java Runtime仅识别最高为55.0的类文件版本(无法加载类[ExampleServlet])
我假设我的系统上有一个版本不匹配的JDK...我使用的是JDK 8,但Tomcat 8.5使用的是JDK 7?将尝试不同的版本并进行更新。

wz1wpwve

wz1wpwve1#

Eclipse版本不匹配。将Eclipse的默认Java版本(16)替换为版本11。一切都可以编译。

相关问题