处理报错: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 ,如需转载请自行联系原作者


相关文章
|
4月前
|
Android开发
复杂项目即时通讯从android 5升级android x后遗症之解决报错#79 java.io.EOFException Unexpected end of ZLIB input stream-优雅草卓伊凡|bigniu
复杂项目即时通讯从android 5升级android x后遗症之解决报错#79 java.io.EOFException Unexpected end of ZLIB input stream-优雅草卓伊凡|bigniu
253 4
复杂项目即时通讯从android 5升级android x后遗症之解决报错#79 java.io.EOFException Unexpected end of ZLIB input stream-优雅草卓伊凡|bigniu
|
3月前
|
Java API 开发工具
【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 "invalid time interval input"
在使用 Java 调用虚拟机 API 获取指标数据时,因本地时区设置非 UTC,导致时间格式解析错误。解决方法是在代码中手动指定时区为 UTC,使用 `ZoneOffset.ofHours(0)` 并结合 `withOffsetSameInstant` 方法进行时区转换,从而避免因时区差异引发的时间格式问题。
210 3
|
2月前
|
JSON Java 数据格式
java调用服务报错400
java调用服务报错400
84 6
java调用服务报错400
|
2月前
|
JSON Java 数据格式
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
181 6
|
9月前
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
264 1
|
12月前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
2678 8
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
9月前
|
运维 Cloud Native Java
postman发起post请求遇到报错:java.io.FileNotFoundException (文件名、目录名或卷标语法不正确。)
遇到bug报错,多猜可能的原因,控制变量反复测试,直至找到问题的关键,然后再思考如何解决或者回避。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
|
11月前
|
Java Windows
【Azure Function】部署Java Function失败:报错deploy [ERROR] Status code 401和警告 'China North 3' may not be a valid region
1:deploy [ERROR] Status code 401, (empty body). 2: China North 3 may not be a valid region,please refer to https://aka.ms/maven_function_configuration#supported-regions for values. 3:  <azure.functions.maven.plugin.version>1.36.0</azure.functions.maven.plugin.version>
188 11
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
1256 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.