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

 

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/58077.html

(0)
上一篇 2021年8月9日
下一篇 2021年8月9日

相关推荐

发表回复

登录后才能评论