博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java.lang.ClassNotFoundException错误原因汇总
阅读量:4450 次
发布时间:2019-06-07

本文共 572 字,大约阅读时间需要 1 分钟。

开发java很长时间了,还经常会遇到java.lang.ClassNotFoundException这样的错误,最近又处理了一次,起初怀疑是jdk版本比class文件的编译版本低了导致了,但是运维人员反馈的信息说经过查看这个是没有问题的。结果又反复折腾,最后实际上还是这个问题,只不过之前他确认的有问题。这里在汇总记录一下什么情况会导致这个问题,便于大家参考,不足之处,大家多提意见。

原因1:

就是上面说的,java运行环境的jdk版本比class文件的编译版本低了导致的,这个一定要确认清楚。

确认运行环境jdk的时候,要注意,jboss是读取的JAVA_HOME环境变量的值,而tomcat时读取的JRE_HOME的值,其他web容器的我不清楚,就不列出了。

以前出现过让运维人员通过java -version去查看版本时OK的,但是还是有问题,这才发现,容器不是直接运行的java命令,而是从指定的变量中获取的java所在目录。

原因2:

class文件的访问权限或者所在目录的访问权限或所属组有问题,导致java无法读这个文件。

这个场景也比较好确认,用启动java的用户去读一下这个class文件就可以确认了(cat命令就行)

转载于:https://www.cnblogs.com/jerry1999/p/4175913.html

你可能感兴趣的文章
WinPE启动U盘的制作方法与软件下载(通用PE工具箱/老毛桃/大白菜WinPE)(转载)...
查看>>
行为型设计模式之5--中介者模式
查看>>
Android DevArt6:Android中IPC的六种方式
查看>>
oracle练习题
查看>>
PMP学习感想
查看>>
Zookeeper全解析——Paxos作为灵魂
查看>>
集合-强大的集合工具类:java.util.Collections中未包含的集合工具
查看>>
CSS清除浮动
查看>>
数据库基础-数据库常用命令总结
查看>>
java8 按对象属性值排序
查看>>
[转帖]nvidia nvlink互联与nvswitch介绍
查看>>
[cnblog新闻]历史性时刻:云硬件支出首次高于传统硬件
查看>>
[转帖]Oracle dba_objects和all_objects 最大的区别
查看>>
【转帖】国产x86处理器KX-6000发布
查看>>
RSA算法及其在iOS中的使用
查看>>
04-js的运算符
查看>>
第三天 while循环 及其用法
查看>>
Delphi 10 seattle 去掉自带的代码连接线
查看>>
构建高并发高可用的电商平台架构实践(转)
查看>>
Geometry Imager Viewport Filter
查看>>