Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不支持的major.minor版本52.0、tomcat 7、java 7/8问题_Java_Eclipse_Jsp_Tomcat7 - Fatal编程技术网

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

不支持的major.minor版本52.0、tomcat 7、java 7/8问题,java,eclipse,jsp,tomcat7,Java,Eclipse,Jsp,Tomcat7,我知道有很多这样的问题。我经历了很多。我已经在这个问题上纠缠了超过24小时 我正在使用: Windows 8.1,64位 Eclipse作为IDE 雄猫7 我想做: 制作一个包含4个页面的小网站,从sql server和其他一些简单的东西加载数据。如果我在Eclipse中以普通java运行java代码,那么java代码就可以工作 如果我在本地主机上使用Java8在JSP项目中运行它,代码也可以工作 但是,我需要将其托管在Java7服务器上。我无法更新服务器 首先,我尝试上传它(通过导出到.w

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

我正在使用:

  • Windows 8.1,64位
  • Eclipse作为IDE
  • 雄猫7
我想做:

制作一个包含4个页面的小网站,从sql server和其他一些简单的东西加载数据。如果我在Eclipse中以普通java运行java代码,那么java代码就可以工作

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

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

首先,我尝试上传它(通过导出到.war并上传),但没有成功。然后,在使用Java8时,我将所有设置(preferences/java/compiler、preferences/java/installed JREs)设置为Java7。项目不会覆盖默认值

将我的localhost设置为Java7会使LocalHostJSP也无法工作(相同的错误),但在我的计算机上,它仍然可以在纯java中工作

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

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

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

这些是我的班级名称。这些类位于JSP文件夹中的
WEB-INF\classes
文件夹中。编译后,我从另一个项目的
jdbc\bin\jdbc
文件夹中复制它们

没有编译错误

没有相关的警告。它们都与HTML格式有关

我曾尝试完全卸载Java8,只安装了Java7(JRE和JDK),但仍然出现同样的错误。是的,我在这之后重新编译了文件

我没有办法尝试了。这对我来说毫无意义

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


有什么想法吗?

原来解决方案是更普通的。显然服务器没有正确地使用我给它的.class文件。这些是我正在更新的文件。相反,它依赖于一个包含相同类的旧.jar文件。因此,我认为它使用的是类文件,但它使用的是这个旧的.jar文件。这个.jar文件是从Java8导出的。导出此文件的新版本修复了此问题


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

该消息意味着代码是用Java(8)版本编译的,该版本比Java运行时(7)版本晚。如果您需要在Java7环境中运行它,那么您需要确保您也使用Java7进行编译。正如您所看到的,我已经卸载了java 8,并且只安装了java 7,但是它不工作。如果您卸载了java 8,并且安装了带有适当环境变量的java 7,请重新启动eclipse并单击Project->Clean。还右键单击项目,然后单击生成路径->配置生成路径->库选项卡。确保它有Java7JDK/jre。如果是Java8JDK/jre,请删除它,然后添加Java7库。为了以防万一,我还多次重启了我的计算机。请确保所有代码都是用JDK 7编译的。如果您仍然遇到这个错误,这意味着您仍然有使用JDK 8编译的类。重新启动计算机不会解决问题。