处理报错:java/lang/NoClassDefFoundError: java/lang/Object

简介:
处理报错:java/lang/NoClassDefFoundError: java/lang/Object
 
 
操作系统环境:CentOS6.0 2.6.32-220.el6.x86_64
JDK版本环境:jdk1.5.0_22
操作系统原来安装的是jdk1.6,后来开发人员要求java程序使用jdk1.5版本的。帮开发下载JDK1.5,
安装完JDK ,设定环境变量后出现这个错误:

  1. [root@fztest97 lib]# javac
  2. Error occurred during initialization of VM
     
  3. java/lang/NoClassDefFoundError: java/lang/Object
     
  4. [root@fztest97 lib]# java
     
  5. Error occurred during initialization of VM
     
  6. java/lang/NoClassDefFoundError: java/lang/Object

 
首先要确认的是环境变量的设置是否正确,其次,需要确认的就是lib和jre/lib文件夹中的rt和tools是否是打包后的形式,如果发现rt.pack 和 tools.pack 那么多半问题就出在这里。
解决方法也很简单,只要将相应文件解压成rt.jar 和 tools.jar,可以使用bin里面的unpack200工具,
如:unpack200 rt.pack rt.jar
 
/apps/usr/java/jdk1.5.0_22/lib/tools.pack 转为 tools.jar 
/apps/usr/java/jdk1.5.0_22/jre/lib/rt.pack 转为 rt.jar
 
执行如下操作命令:
 

  1. [root@fztest97 ]# cd /apps/usr/java/jdk1.5.0_22/lib/
  2. [root@fztest97 lib]# unpack200 tools.pack tools.jar
     
  3. [root@fztest97 lib]# ls
     
  4. dt.jar ir.idl jconsole.jar orb.idl sa-jdi.jar tools.jar tools.pack
     
  5. [root@fztest97 lib]# cd /apps/usr/java/jdk1.5.0_22/jre/lib
     
  6. [root@fztest97 lib]# unpack200 rt.pack rt.jar
     
  7. [root@fztest97 lib]# ll rt.*
     
  8. -rw-r--r--. 1 root root 40232487 May 23 19:23 rt.jar
     
  9. -rw-r--r--. 1 root root 12960918 May 23 19:07 rt.pack



再次执行如下命令,进行验证:

  1. [root@fztest97 lib]# java -version
  2. java version "1.5.0_22"
     
  3. Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
     
  4. Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode)
     

  5.  
  6. [root@fztest97 lib]# javac
     
  7. Usage: javac <options> <source files>
     
  8. where possible options include:
     
  9. -g Generate all debugging info
     
  10. -g:none Generate no debugging info
     
  11. -g:{lines,vars,source} Generate only some debugging info
     
  12. -nowarn Generate no warnings
     
  13. -verbose Output messages about what the compiler is doing
     
  14. -deprecation Output source locations where deprecated APIs are used
     
  15. -classpath <path> Specify where to find user class files
     
  16. -cp <path> Specify where to find user class files
     
  17. -sourcepath <path> Specify where to find input source files
     
  18. -bootclasspath <path> Override location of bootstrap class files
     
  19. -extdirs <dirs> Override location of installed extensions
     
  20. -endorseddirs <dirs> Override location of endorsed standards path
     
  21. -<directory> Specify where to place generated class files
     
  22. -encoding <encoding> Specify character encoding used by source files
     
  23. -source <release> Provide source compatibility with specified release
     
  24. -target <release> Generate class files for specific VM version
     
  25. -version Version information
     
  26. -help Print a synopsis of standard options
     
  27. -Print a synopsis of nonstandard options
     
  28. -J<flag> Pass <flag> directly to the runtime system

 
到此为止,JDK1.5安装配置成功。

     本文转自vcdog 51CTO博客,原文链接:http://blog.51cto.com/255361/874171 ,如需转载请自行联系原作者


相关文章
|
1天前
|
Java
Java中的Object类 ( 详解toString方法 | equals方法 )
Java中的Object类 ( 详解toString方法 | equals方法 )
|
4天前
|
消息中间件 监控 Serverless
函数计算操作报错合集之显示报错:RecursionError: maximum recursion depth exceeded while calling a Python object,该如何解决
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
7天前
|
Java Shell Nacos
centos7.x使用nacos2.1.0(解决JAVA_HOME、javac报错)
centos7.x使用nacos2.1.0(解决JAVA_HOME、javac报错)
9 1
|
8天前
|
Java
Intellij idea 报错:Error : java 不支持发行版本5
Intellij idea 报错:Error : java 不支持发行版本5
9 0
|
8天前
使用字节输入流报错 java.io.FileNotFoundException: srcdruid.properties (系统找不到指定的文件。)
使用字节输入流报错 java.io.FileNotFoundException: srcdruid.properties (系统找不到指定的文件。)
9 0
|
14天前
|
Java Linux 测试技术
Java sdk连接fabric网络的谜之报错
Java sdk连接fabric网络的谜之报错
29 0
|
15天前
|
Java
【Java】Object类简单解析
【Java】Object类简单解析
15 1
|
15天前
|
资源调度 关系型数据库 MySQL
实时计算 Flink版操作报错合集之遇到如下报错:java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
18天前
|
Java
ElasticSearch启动报错 java version is an early-access build ,only use release builds【已解决】
ElasticSearch启动报错 java version is an early-access build ,only use release builds【已解决】
15 0
|
19天前
|
Linux
elasticsearch启动报错:unable to install syscall filter: java.lang.UnsupportedOperationException: seccomp
elasticsearch启动报错:unable to install syscall filter: java.lang.UnsupportedOperationException: seccomp
12 0