命令行编译的class文件在Myeclipse的服务器上产生UnsupportedClassVersionError的解决办法

假设我们已经在命令行里面把java文件编译成class文件了。然后把它布置到tomcat服务器上,则我们可以看到服务器的控制台上会出现以下信息

其中我们关心的一行是

严重: Exception invoking periodic operation:

java.lang.UnsupportedClassVersionError: FirstServlet2 : Unsupported major.minor version 52.0 (unable to load class FirstServlet2)

此时我通过浏览器访问原来在该文件夹里面我能访问的文件都会出现错误。

也就是说我存放了class文件的路径//localhost/linshaolong即我WEB-INF的外层文件夹下的所有文件都不能通过浏览器访问,初步断定是加了该class文件后导致整个文件夹都没有配置到服务器里面

然后我们回过头来看java.lang.UnsupportedClassVersionError这个错误,大致意思是不支持的calss文件版本错误。查了一下是高版本的JDK编译的java class文件试图在较低的版本的JVM上运行导致的错误。

通过java -version,我查到我的命令行的jdk版本是1.8.0-65

而打开我的myeclipse的配置服务器的JDK版本是jdk7.则可知是因为服务器运行的jdk版本太低导致部署不成功。

则此时我们有两种方法可以解决:

1.找个jdk8以上的Myeclipse版本(活在梦里)

2.把java文件放到Myeclipse里编译一下。

也就是把java文件拖到项目里,保存一下,然后到对应存放class文件的文件夹找一下。(如果你一开始手动码的java文件是缺省包的,就要放在Myeclipse项目的缺省包下保存。)

然后把编译好的class文件放回原来的WEB-INF的classes文件夹里。配好web.xml的路径。

然后就发现可以运行了。

嗯。差不多就是这些。。。想到再补充。。。

时间: 2024-10-31 13:03:00

命令行编译的class文件在Myeclipse的服务器上产生UnsupportedClassVersionError的解决办法的相关文章

命令行运行python项目文件,报错:ModuleNotFoundError: No module named 'xxxx' 解决办法

在pycharm中写好了自动化测试脚本,并能在pycharm中正常运行,由于要考虑到无人值守时能自动执行,执行时就需要脱离pycharm,直接能用命令执行.但是直接用命令执行用例文件:python3 D:\pycode\autotest_framework\case\run_case.py 结果报错,找不到模块 自动化项目的结构如下:用例run_case.py 和工具类utils下的工具 不在同一个文件夹下面.在脚本中需要导入包如: from utils.HTMLTestRunner impor

linux 命令行不显示路径了,而显示为-bash-4.1#的两种解决办法

问题描述: linux的命令行界面显示的不是路径,而是-bash-4.1#: 原因分析: 出现这个问题的原因是因为没有配置.bash_profile的问题,或者是我们不小心清空或删除了.bash_profile文件. 解决方法 方法一:修改 ~/.bash_profile文件 1.修改~/.bash_profile文件,在~/.bash_profile文件后面加上一行: export PS1='[\[email protected]\h \W]\$' 如果~/.bash_profile被误删掉了

将文件复制到FTP服务器时发生错误的解决办法

自己新搭了一台FTP服务器,给部门同事一起用,用ftp软件上传文件没什么问题,直接通过windows的界面上传文件出现如下提示应该是文件传输编码有问题远程到ftp服务器打开IIS选择正在使用的ftp站点选择高级设置在弹出的对话框中允许UTF8,默认是True,设置为False确定设置完成后重启一下ftp站点,就可以了 原文地址:http://blog.51cto.com/lisiyun/2300417

Qt命令行编译代码

  一.命令行编译工程源文件 1.新建一个工程目录 2.新建.cpp文件 3.cd到工程目录 4.输入qmake –project命令生成pro工程文件 5.输入qmake命令来生成Makefile文件 6.输入make命令生成.exe文件   二.命令行编译ui界面文件 1.用.ui文件生成.h文件 uic –o xxx.h xxx.ui

Cmd命令行编译c#文件

使用命令行编译C#文件的方法: 首先,在系统变量的Path变量中添加csc.exe文件路径 路径大概是这个样子:C:\Windows\Microsoft.NET\Framework64\v4.0.30319;  (.net版本也许不同) 在cmd中输入csc.exe验证是否成功. cs文件生成exe文件:(若要编译生成EXE文件则源文件中需包含main 方法) csc /out:file.exe  file.cs       //使用 /out 指定输出的文件 如果编译的stu.cs 和 fil

Windows下命令行编译C文件

今天开始重温C语言程序设计,琢磨了一下用命令行编译C代码. 步骤如下: 1.先用记事本编写如下所示的代码,并另存为hello.cpp,假设其保存路径为 D:CPratice\hello.c. #include <stdio.h>main(){ printf("Hello,word!\n");} (2)配置环境变量(以win7上的VS2010为例) 右键“计算机”—“属性”—“高级系统设置”—“环境变量”. 在下面的系统变量中修改(或添加)三个环境变量 path     值 

Android 命令行编译、打包生成apk文件

一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1.6.0_20\bin3. 例子信息 项目目录:D:\ProjectDemo SDK目录 :D:\android-sdk-windows\platforms\android-8\ 二.命令行编译Android项目 1. 生成R文件 2. Java代码生成class文件 3. class文件生成dex文件

命令行编译的一点碎碎念

自学习C/C++以来,接触到很多很强大的库,例如opencv,boost等等,但相关的范例和教程书,都提倡在电脑上安装这些库,在一定程度上我是很讨厌这么干的,而是提倡使用命令行编译生成可执行文件,在命令行中注明头文件的位置和库文件的位置. 这么做一方面透明性高,自己在编译时知道使用了什么库,什么头文件,很方便debug. 二来,可以提高可移动性,如果将opencv库编译成链接库文件,安装在/usr/libs/文件夹下,linux系统编译我们的源程序时,自然能够找到这些头文件和库文件,因为这是li

namke 命令行编译

简介 大家已经习惯于微软提供的功能强大的IDE,已经很少考虑手动编连项目了,所谓技多不压身,有空的时候还是随我一块了解一下命令行编译. C/C++/VC++程序员或有Unix/Linux编程经验应该很熟悉,以前我曾写过一篇文章描述用csc/vbc来进行命令行编译,今天再介绍一下MS提供的更加快捷有效的编译工具NMake. MSDN的描述: Microsoft 程序维护实用工具 (NMAKE.EXE) 是一个 32 位,基于说明文件中包含的命令生成项目的工具. NMake具有丰富的选项,可以完成复