不支持 major.minor 版本 52.0,tomcat 7,java 7/8 问题

Unsupported major.minor version 52.0, tomcat 7, java 7/8 problems

我知道有很多这样的问题。我经历了很多。我已经在这个问题上停留了超过 24 小时。

我正在使用:

我想做:

制作一个包含 4 个页面的小型网站,从 sql 服务器加载数据和一些其他简单内容。如果我 运行 它在 Eclipse 中像普通 java 一样,java 代码就可以工作。

如果我 运行 在 JSP 项目中使用 java 8 在本地主机上,代码也可以工作。

但是,我需要将其托管在 java 7 服务器上。我无法更新服务器。

首先,我尝试只上传它(通过导出到 .war 并上传),但这没有用。然后,我在使用 java 8 时将所有设置(preferences/java/compiler、preferences/java/installed JRE)设置为 java 7。项目没有覆盖默认设置。

将我的本地主机设置为 java 7 设置使本地主机 JSP 也无法工作(同样的错误),但它在我的计算机上仍然可以正常工作 java。

我已尝试清理 temporary/compiled 文件以强制重新编译 (project/clean)。我每次尝试新事物时都会这样做。

我正在使用以下方法将 类 导入到 JSP 服务器:

<%@ page import="jdbc.Publication"%>
<%@ page import="jdbc.SQLPublicationMapper"%>

这些是我的 类 的名字。 类 位于 JSP 文件夹中的 WEB-INF\classes 文件夹中。我在编译它们后从其他项目的 jdbc\bin\jdbc 文件夹中复制它们。

没有编译错误。

没有相关的war宁。它们都涉及 HTML 格式化内容。

我已经尝试完全卸载 java 8,只安装了 java 7(JRE 和 JDK),但我仍然遇到同样的错误。是的,这之后我已经重新编译了文件。

我 运行 没有想法可以尝试。这对我来说毫无意义。

我通常不是 java 开发人员,我在 R/python/php/js 中编写代码,所以请给出我能理解的答案。

有什么想法吗?

事实证明,解决方案更为普通。显然服务器没有正确使用我给它的 .class 文件。这些是我正在更新的文件。相反,它依赖于包含相同 classes 的旧 .jar 文件。因此,我认为它使用的是 class 文件,但它使用的是这个旧的 .jar 文件。此 .jar 文件是从 java 8 导出的。导出此文件的新版本解决了该问题。

TL;DR 确保最终的 .jar 文件也得到更新,而不仅仅是 .class 文件。