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


相关文章
|
22天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
76 4
|
27天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
1月前
|
安全 小程序 Java
Java“AccessControlException”报错解决
Java中的“AccessControlException”通常发生在尝试访问受安全策略限制的资源时。解决方法包括:1. 检查安全策略文件(java.policy)配置;2. 确保代码具有足够的权限;3. 调整JVM启动参数以放宽安全限制。
|
2月前
|
存储 Java Apache
Java“NoClassDefFoundError”解决
“Java NoClassDefFoundError”是运行时错误,表示JVM找不到某个类的定义。通常由类路径设置不当、依赖缺失或版本冲突引起。解决方法包括检查类路径、确保所有依赖正确添加及版本兼容。
|
2月前
|
存储 IDE Java
Java“NoClassDefFoundError”解决
Java中的“NoClassDefFoundError”错误通常发生在尝试访问某个类时,该类在编译时可用但在运行时找不到。解决方法包括:确保所有依赖库已正确添加到类路径中,检查类名和包名是否正确,以及清理并重新构建项目。
|
2月前
|
Java
Java Object 类详解
在 Java 中,`Object` 类是所有类的根类,每个 Java 类都直接或间接继承自 `Object`。作为所有类的超类,`Object` 定义了若干基本方法,如 `equals`、`hashCode`、`toString` 等,这些方法在所有对象中均可使用。通过重写这些方法,可以实现基于内容的比较、生成有意义的字符串表示以及确保哈希码的一致性。此外,`Object` 还提供了 `clone`、`getClass`、`notify`、`notifyAll` 和 `wait` 等方法,支持对象克隆、反射机制及线程同步。理解和重写这些方法有助于提升 Java 代码的可读性和可维护性。
|
3月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
45 5
|
3月前
|
域名解析 分布式计算 网络协议
java遍历hdfs路径信息,报错EOFException
java遍历hdfs路径信息,报错EOFException
39 3
|
3月前
|
缓存 Java Linux
java操作hbase报错:KeeperErrorCode=NoNode for /hbase-unsecure/master
java操作hbase报错:KeeperErrorCode=NoNode for /hbase-unsecure/master
157 2
|
3月前
|
Java
java服务调用报错503
java服务调用报错503
36 2