JDK和Tomcat部署时,版本不同的问题解决
2024-09-03 22:40:55
问题:
在以Tomcat作为Web容器,启动java Web工程时,遇到下面问题:org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException。网络环境:JSP文件在Windows端编译启动访问成功,部署到Linux访问不到。
- 1
- 2
解决步骤:
1、更换JDK编译,从JDK8,JDK7,JDK6到一一尝试,均是Windows端可行, Linux端异常;
2、清理Linux端其他工程(5个工程同时运行),依然异常;
3、把Windows端的tomcat上的文件,拷贝到Linux端,包括bin,lib文件夹;在页面访问成功,没有异常。
总结:
1、JSP文件,受生产环境影响,不同的生产环境会产出不同的结果;
2、部署在Windows、Linux端的工程里的JSP文件,受bin文件和lib文影响;
3、bin文件,存放各种不同平台开启与关闭Tomcat的脚本文件;一般的Tomcat版本里的bin文件,都包含Windows、Linux平台开启与关闭的脚本文件;部署在Windows、Linux端的Tomcat可用一个同一个版本;
4、存Tomcat与web应用的Jar包,JSP文件依赖于servlet.jar和jsp-api.jar;不同的Tomcat版本,如:(Apache-Tomcat 7.0.23和Apache-Tomcat 7.0.33),都会造成影响;部署在Windows、Linux端的Tomcat可用一个同一个版本;(特别注意要检查工程目录和编译目录是否存在以上相同的jar包,防止加载到错误的文件)
注:同一大版本号,不同小版本号的JDK和Tomcat均会造成Windows和Linux的差异;最佳方案是JDK和Tomcat最初就保持相同的小版本号;
最新文章
- 用游标实现查询当前服务器所有数据库所有表的SQL
- RabbitMQ代码第一步
- 关于Oracle表空间数据文件自增长的一些默认选项
- 使用Yeoman搭建 AngularJS 应用 (12) —— 让我们搭建一个网页应用
- U3D 背景音效和事件触发音效
- win7系统如何恢复administrator用户
- UESTC_Dividing Numbers CDOJ 1156
- ASP.NET递归添加树节点
- 开源服务发现项目Zookeeper,Doozer,Etcd
- CentOS安装Python教程
- 九九乘法表.py
- 爬虫(requests)
- JavaScripy execCommand函数
- 安装Phalcon报错:gcc: Internal error: Killed (program cc1)
- 像使用数据库一样使用xml
- ANGULAR6.x - 错误随笔 - Can't bind to 'formGroup'
- 04-spark streaming
- CodeSmith读取数据库
- 使用MyEclipse开发Java EE应用:EJB项目开发初探(上)
- django (文件操作)