gpt4 book ai didi

动态 Web 项目 (Eclipse) 中的 java.lang.UnsupportedClassVersionError

转载 作者:太空宇宙 更新时间:2023-11-04 09:05:34 24 4
gpt4 key购买 nike

我希望使用 eclipse 和 Azure 创建一个基本的 Web 应用程序。我能够将基本的打印语句上传到互联网,但是当我尝试引用同一项目中的类但不同的包时,我得到一个错误屏幕。我不明白这些错误,并确保我更新并重新安装了新版本的 JDK。仅当调用另一个类时才会发生这种情况。原始错误是“tester/Lowercase 已由更新版本的 Java 运行时(类文件版本 57)编译,此版本的运行时仅识别高达 52.0 的类文件版本(无法加载类 [tester.Lowercase()]”。那是当我安装了不同的 JDK 时,现在我遇到了一个不同的错误,我很难找到解决方案。index.jsp 中显示的错误是“父类(super class)”javax.servlet.http.HttpServ let“在 java 构建路径上找不到”。我暂时选择忽略此问题,因为一位 friend 在他的计算机上执行了与我完全相同的代码,并且能够轻松地使其工作。当我在项目的属性菜单中的项目 Facets 的运行时下选择 Tomcat 时,此错误也得到了解决。

这是标题为“index.jsp”的 jsp 文件

<%@ page import="tester.Lowercase" %>
<html>
<body>
<% out.println(Lowercase.makeItLower("MAKE THIS LOWERCASE")); %>
</body>
</html>

这是标题为“Lowercase.java”的 java 类

package tester;

public class Lowercase {
public static String makeItLower(String data) {
String str = data.toLowerCase();
return str;
}
}

我知道这是非常简单的代码,应该是一个简单的任务,但我遇到的这个错误阻止了我制作这个网络应用程序。

最佳答案

你说你已经解决了UnsupportedClassVersionError问题,所以我就不谈这个了。

Java SE 的类库中不包含 javax.servlet.http.HttpServlet。该类和相关类来自 Java EE API。因此,要在 Eclipse 中编译 JSP,您需要配置项目的构建路径以包含包含这些 API 的 JAR 文件。

您可以从Maven Central下载不同版本的API;例如,此页面将为您提供 3.0.1 版本 https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.0.1 。单击该页面上的“jar”链接。或者,如果您使用的是受支持的构建工具之一,请将该页面上相应的依赖项信息添加到您的构建文件中。

当您将 JSP 部署到 Tomcat 时,它能够正常工作的原因是 Tomcat 有自己的 servlet 类副本,并且在编译 JSP 时会自动将它们包含在其构建类路径中。

关于动态 Web 项目 (Eclipse) 中的 java.lang.UnsupportedClassVersionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60256291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com