问题:

在以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最初就保持相同的小版本号;

JDK和Tomcat部署时,版本不同的问题解决的更多相关文章

  1. Tomcat部署时war和war exploded的区别

    转自徐刘根的Tomcat部署时war和war exploded区别以及平时踩得坑 一.war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: ...

  2. CentOS安装mysql、JDK、Tomcat部署环境

    1.1. 安装mysql-5.6 1.1.1. 检测系统内部有没有安装其他的mysql数据库 $ rpm -qa | grep mysql 1.1.2. 如果内部有需要先删除Mysql $ yum r ...

  3. 如何制定tomcat部署时自己定义的docBase路径

    装了tomcat后发现tomcat安装在系统跟路径地下,每次部署的时候挺麻烦的,于是想指定一个自己定义的应用部署的路径: 以下是如何指定,相关文档请查看https://tomcat.apache.or ...

  4. tomcat 部署时修改服务器时间

    tomcat 在部署时修改了服务器时间  会出现以下状况 1.session 失效 2.修改的文件不会正确被tomcat热部署进去

  5. 阿里云轻量级服务器上JDK及tomcat部署配置

    先下载JDK和tomcat到本地 地址为http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html ht ...

  6. IDEA Tomcat部署时war和war exploded区别以及平时踩得坑

    war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式 ...

  7. 170223、Tomcat部署时war和war exploded区别以及平时踩得坑

    war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式 ...

  8. Tomcat部署时war和war exploded区别及验证

    war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式 ...

  9. IDEA中Tomcat部署时war和war exploded区别

    原理说明 war模式:将WEB工程以包的形式上传到服务器 :war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器: 含义解释 war模式这种可以称之为是发布模式,看名字也知道, ...

随机推荐

  1. hadoop最新版本介绍之dkhadoop版本选择

    Hadoop对于从事互联网工作的朋友来说已经非常熟悉了,相信在我们身边有很多人正在转行从事hadoop开发的工作,理所当然也会有很多hadoop入门新手.Hadoop开发太过底层,技术难度远比我们想象 ...

  2. TextBox(只允许输入字母或者数字)——重写控件

    实现如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System ...

  3. Maven下载cxf所需要的jar包

    <dependency> <groupId>org.codehaus.woodstox</groupId> <artifactId>woodstox-c ...

  4. python使用smtplib发送邮件

    python要实现发送邮件的功能,需要使用smtplib库. 1. 过程大致如下: 1. 建立和SMTP邮件服务器的连接 # 默认端口25 smtp = smtplib.SMTP(host, port ...

  5. [转]C#调用Excel VBA宏

    [转载自]http://www.shangxueba.com/jingyan/95031.html 附上一段原创常用代码 计算列标题字符串 Function CalcColumn(ByVal c As ...

  6. [UE4GamePlay架构(九)GameInstance(转)

    GameInstance这个类可以跨关卡存在,它不会因为切换关卡或者切换游戏模式而被销毁.然而,GameMode和PlayController就会再切换关卡或者游戏模式时被引擎销毁重置,这样他们里面的 ...

  7. Game of War - Fire Age 有何特别之处?

    作者:福克斯007 链接:https://www.zhihu.com/question/21611550/answer/52458767来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  8. 利用Red Blob游戏介绍A*算法

    转自:http://gad.qq.com/program/translateview/7194337 在游戏中,我们经常想要找到从一个位置到另一个位置的路径.我们不只是想要找到最短距离,同时也要考虑旅 ...

  9. 修改 Docker-MySQL 容器的 默认用户加密规则

    背景介绍 今天开始做集成测试,需要把程序和环境重新部署在新的服务器上.项目的环境都是基于Docker来的,所以数据库也是选择从Docker官网上面拉官方的MySQL镜像.(Tag = 8.0.12) ...

  10. STL容器能力一览表和各个容器操作函数异常保证

    STL容器能力一览表 Vector Deque List Set Multiset map Multimap 典型内部 结构 dynamic array Array of arrays Doubly ...