java.lang.ClassNotFoundException错误原因汇总

开发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命令就行)

时间: 2024-10-27 13:47:20

java.lang.ClassNotFoundException错误原因汇总的相关文章

完美解决android运行程序java.lang.ClassNotFoundException错误

遇到错误: java.lang.ClassNotFoundException at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65) 分析原因: 找半天不知道什么原因出错,各种折腾.后来发现我引入v7包,又引入了v4包,想了下,是不是发生冲突了,因为印象中v7是包含了v4了. 解决办法: 把libs下的v4包删掉,重新运行,大功告成.这可能只是引起这个错误的原因之一,在此记录下.

maven项目在eclipse启动报错:java.lang.ClassNotFoundException

问题: 用eclipse创建maven项目的时候,pom.xml中相关的依赖jar已经导入进去,还会报java.lang.ClassNotFoundException的错误,提示找不到相关的jar包,但是在maven Dependencies中又可以找到相关的jar包. 问题原因: 我们进入到tomcat的部署路径下:E:\workplace4.6\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\springmvc.r

java.lang.ClassNotFoundException: com.sun.image.codec.jpeg.JPEGCodec

这两天都快被这个错误整疯了!!!最近在写java项目的时候需要用到 [java] view plain copy import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; 这两个类来把图片写入磁盘.注意:这两个类可是处在系统自带的jre里的rt.jar包里 [java] view plain copy FileOutputStream out = new FileOut

Android使用Eclipse遇到"java.lang.ClassNotFoundException"

最近遇到个Android Jar的问题,找了几天才找到root cause. 在此记录下. 我们的Android项目需要使用一个供应商的Jar. 我们使用的开发环境为:Eclipse + ADT插件(这年头居然不用Android Studio...). 把下载好的Jar放入"libs"文件夹内,Eclipse就会自动识别. 启动APK,直接crash. Logcat 报:"java.lang.ClassNotFoundException"错误. 查看项目的 Java

java.lang.NoClassDefFoundError 错误

练习jfianl,,,配置数据库插件的时候遇到: java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/ComboPooledDataSource 解决办法: 导入 c3p0jar 包. java.lang.NoClassDefFoundError与java.lang.ClassNotfoundException错误比较: 后者是 详情: http://blog.csdn.net/jamesjxin/article/details/4660630

【转】用JSON报的一个错误java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeExcept

来源:http://blog.csdn.net/eilent/article/details/6927700 出现错误的原因是因为jar包导入不全. 今天自己写了一个JSON的例子,可以一调用就出了问题,报下面这个异常: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException 上网上搜了一下才知道原来在使用JSON的使用的时候,不光要导入JSON这个包,同时还要导入另

eclipse里面配置spring,提示java.lang.ClassNotFoundException:org.springframework.web.servlet.Dispatcher错误

在eclipse里面创建了一个Dynamic 项目,用到spring,一直提示java.lang.ClassNotFoundException: org.springframework.web.servlet.Dispatcher 错误, 后来又提示java.lang.NoClassDefFoundError: org/springframework/context/ApplicationConte 后来新建了一个项目,然后结构什么的都没有改变就可以正常运行了: 对比了一下,发现可能的原因有以下

SpringMVC集成AOP错误:java lang classnotfoundexception org aspectj lang joinpoint

记录自己出现的问题,Spring AOP 使用测试类测试没问题,在SpringMVC启动服务器时出现java lang classnotfoundexception org aspectj lang joinpoint错误,开始以为是包错误,最后发现是因为IDEA配置问题导致.把右侧未添加的包双击移到左边,重新启动服务器,启动正常.

Tomcat中使用commons-io-2.5发生的错误java.lang.ClassNotFoundException: org.apache.commons.io.IOUtils

关键词:IntelliJ IDEA.Tomcat.commons-io-2.5.jar.java.lang.ClassNotFoundException: org.apache.commons.io.IOUtils 1.错误提示信息 图1 运行登录时错误信息 //Tomcat Localhost Log信息 org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [Servlet] in