今天在服务器上运行一个程序,抛出了一个异常
java.lang.ClassFormatError: com.taobao.terminator.pubhook.servlet.EncodeFilter (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)
at java.lang.ClassLoader.defineClass(libgcj.so.7rh)
at java.security.SecureClassLoader.defineClass(libgcj.so.7rh)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(catalina-5.5.23.jar.so0wmrz1.so)
at org.apache.catalina.loader.WebappClassLoader.findClass(catalina-5.5.23.jar.so0wmrz1.so)
at org.apache.catalina.loader.WebappClassLoader.loadClass(catalina-5.5.23.jar.so0wmrz1.so)
at org.apache.catalina.loader.WebappClassLoader.loadClass(catalina-5.5.23.jar.so0wmrz1.so)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(catalina-5.5.23.jar.so0wmrz1.so)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(catalina-5.5.23.jar.so0wmrz1.so)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(catalina-5.5.23.jar.so0wmrz1.so)
at org.apache.catalina.core.StandardContext.filterStart(catalina-5.5.23.jar.so0wmrz1.so)
at org.apache.catalina.core.StandardContext.start(catalina-5.5.23.jar.so0wmrz1.so)
知道是由于java jrm的版本太低导致的。所以,需要设计java jrm版本。
执行之前先要知道服务器上安装的是哪个jdk:
执行命令:
rpm -qa | grep -i jdk
显示的是:
ldapjdk-4.18-2jpp.3.el5
执行命令:
sudo -u root yum install java-1.6.0-openjdk
执行之后,在控制台上执行 java -version 提示的是
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.8) (rhel-1.22.1.9.8.el5_6-x86_64)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
接下来重启tomcat 服务,但是tomcat依赖JAVA_HOME 环境变量还是老的1.4.2的值,并没有因为重新安装的jdk而变化过来,主要原因是在服务器上安装tomcat的时候,安装脚本就已经将JAVA_HOME 这个环境变量写到TOMAT的启动脚本之中.
所以现在需要重新设置tomcat启动脚本中的JAVA_HOME环境变量。
需要编辑的文件是:
- /etc/tomcat5/tomcat5.conf
- /etc/sysconfig/tomcat
以上这两个文件中都有JAVA_HOME 环境变量的设置,将他们一一修改成java 1.6的所在的目录值就行了
重启启动tomcat就能恢复了。
分享到:
相关推荐
JAVA实现的通用软件版本更新升级代码,具有对服务器连接情况的判断功能
综上所述,"JAVA项目更新升级程序"涵盖了Java Web项目的维护、系统升级的设计与实施、多线程编程、版本控制以及一系列的开发最佳实践。理解和掌握这些知识点对于任何Java Web开发者来说都是提升专业技能的关键。
FCKeditor最初由Fernando Goycoolea创建,后来被更名为CKEditor,但旧版本仍广泛用于许多项目中。这个压缩包文件包含了在MyEclipse环境中运行FCKEditor的一个完整案例,便于开发者理解和学习如何集成和使用该编辑器...
3. **智能安装**:用户下载这个小体积的升级包后,工具会根据指示自动完成更新,将新的文件覆盖到旧的版本上,保留未更改的部分。 在实际操作中,通常需要以下步骤来使用这个工具: 1. **准备环境**:确保你有新旧...
至于压缩包中的“httpserver4.0”,这可能是项目源代码的版本号,暗示着这是一个迭代升级后的版本,可能包含了性能优化、错误修复或新功能的添加。 总结来说,这个项目涵盖了以下关键点: 1. 使用Java实现HTTP...
Java和iOS自动升级服务是移动应用开发中一个重要的功能,它允许用户无痛地更新到最新版本的应用,提高用户体验并确保他们始终运行安全且优化的软件。以下是对这个主题的详细解析: 首先,我们要理解自动升级服务的...
本文将深入探讨如何使用Java编程实现Android应用(Apk)的自动升级机制,确保用户能够在无需手动操作的情况下获取最新的应用版本。 首先,我们需要理解Android应用的更新流程。自动升级通常分为三个主要步骤:检测...
1. **服务器端管理**:服务器端需要存储不同版本的APK文件,并维护一个版本信息表,包括当前最新版本号、下载链接等。 2. **客户端检测**:客户端应用定期或在启动时向服务器发送请求,获取当前应用的版本信息。 3. ...
2. **Java更新检查**:在Java应用程序中,编写一个模块用于定期检查FTP服务器上的最新版本。这通常涉及使用Java的`java.net.URL`和`java.net.URLConnection`类,连接到FTP服务器并列出指定目录下的文件。通过比较...
Java作为一种广泛使用的编程语言,提供了丰富的API来实现客户端和服务器之间的数据传输。本文将深入探讨如何利用Java实现B/S(浏览器/服务器)架构中的通信,以及相关的重要知识点。 首先,理解B/S架构的基本原理至...
富士通服务器RX100 S7是一款针对中小型企业设计的高效能服务器,它提供了可靠...通过正确执行上述步骤,富士通服务器RX100 S7的IPMI固件升级将能够解决Java新版本带来的KVM访问问题,确保服务器管理的连续性和可靠性。
为了确保数据传输的安全性,现代邮件服务器通常使用SSL(Secure Sockets Layer)或其升级版TLS(Transport Layer Security)进行加密。在JavaMail API中,我们可以通过设置属性来启用SSL/TLS: ```java Properties ...
升级Java版本对于保持系统安全至关重要,因为Java常常是恶意攻击者的目标。及时更新可以防止利用已知漏洞进行攻击。此外,新版本通常会带来更好的性能和新的开发特性,这对于开发者来说是一个提升生产力的机会。 在...
文档指出java7版本不兼容,同时java8的多个版本也不兼容,这表明开发者在设计固件更新程序时可能针对了特定的Java版本进行了优化。找到了一个兼容的Java版本,意味着用户在更新固件前需要安装和配置好对应的Java运行...
将ACS源码部署到JBOSS服务器上,可以利用其稳定性、可扩展性以及与JAVA的紧密集成,实现高效的服务运行。 在"openacs"这个压缩包中,可能包含了ACS服务器的全部源代码,包括但不限于以下部分: 1. **TR069协议解析...
CentOS 7 安装 Java 知识点...在 CentOS 7 上安装 Java 是服务器搭建 Java 应用环境的重要步骤之一,也是运行 Java 应用程序的前提。在实际操作中,可能还需要考虑 Java 版本选择、安全更新以及性能调优等高级配置。
标题提到的"Jackson-databind任意文件读取漏洞"就是一个典型的例子,这个问题允许攻击者通过恶意构造的JSON数据读取服务器上的任意文件,对系统安全构成严重威胁。 Jackson-databind是Jackson库的一个子模块,主要...
SCJP 认证考试是 Sun 公司 Java 技术认证考试中的基础性认证,通过此项认证即能清楚表明此程序员理解了 Java 程序设计语言的基本语法和结构,并能使用 J2SE 5.0 创建在服务器和桌面系统上运行的 Java 技术应用程序。...
每个版本的驱动都是为了匹配特定MySQL服务器版本的API和功能特性。 MySQL Connector/J是MySQL官方提供的用于Java的JDBC驱动程序,它实现了Java Database Connectivity (JDBC) API,使得Java程序员可以使用标准的SQL...
考虑到Java的跨平台性,服务器也可以在LINUX平台上运行,并连接到MySQL等基于LINUX的小型数据库。Java的JDBC(Java Database Connectivity)允许与不同数据库进行互操作,无需关注具体数据库产品,只需编写与平台...