解决classNotFound的问题的思路_fatal error: class 'tradecreatedemo' not found-程序员宅基地

技术标签: java  

用Ctrl+Shift+t可以查看class,对于报错信息,我们把没有找到的class放到查找框里进行查看,找到之后把这个jar包放到WEB-INF的lib目录下,build path一下就可以了。

以上是在java web项目中,没有使用maven的情况可以使用.

如果使用maven,有时也会碰到这种情况,原因可能是jar包冲突,也可能是tomcat缓存,还可能是jar包放到了jre的ext目录.分情况处理.

1 tomcat缓存问题,最笨的方法,eclipse中project-clean,然后再选build Automatically,删除server,也就是tomcat,然后重新启动eclipse,重新添加tomcat,向tomcat容器添加项目.

2 jar包放到了jre的ext目录.由于classPath的加载顺序是

1)BootstrapClassLoader(启动类加载器) 
  负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,加载System.getProperty(“sun.boot.class.path”)所指定的路径或jar。 
2)ExtensionClassLoader(标准扩展类加载器) 
  负责加载java平台中扩展功能的一些jar包,包括$JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定目录下的jar包。载System.getProperty(“java.ext.dirs”)所指定的路径或jar。 
3)AppClassLoader(系统类加载器) 
  负责记载classpath中指定的jar包及目录中class 
4)CustomClassLoader(自定义加载器) 
  属于应用程序根据自身需要自定义的ClassLoader,如tomcat、jboss都会根据j2ee规范自行实现

如果一个jar包放到jre的ext目录,则会第二顺序加载,它依赖的jar包只会从BootstrapClassLoader中查找,如果依赖后面的加载器,也会报错。解决办法就是退出eclipse后,删除ext中的相关jar包。将jar包放到AppClassLoader或自定义的加载器中。

3 jar包冲突,如果发现某各类继承自两个以上jar包,这就需要用maven的排除功能,后者直接删除低版本的jar包。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cooldream2009/article/details/83112745

智能推荐

Java核心技术卷一 -第五章:装箱和拆箱_自动装箱和自动拆箱在java第几章-程序员宅基地

文章浏览阅读340次。系列文章目录Java核心技术卷一 -第一章:java“白皮书”的关键术语Java核心技术卷一 -第三章:数据类型Java核心技术卷一 -第三章:变量与常量Java核心技术卷一 -第三章:运算符Java核心技术卷一 -第三章:字符串Java核心技术卷一 -第三章:输入与输出Java核心技术卷一 -第三章:数组Java核心技术卷一 -第四章:类之间的关系-依赖Java核心技术卷一 -第四章:预定义类-LocalDate类小应用Java核心技术卷一 -第四章:构造器Java核心技术卷一 -第_自动装箱和自动拆箱在java第几章

hadoop2.x常用端口、定义方法及默认端口、hadoop1.X端口对比-程序员宅基地

文章浏览阅读489次。问题导读:1.DataNode的http服务的端口、ipc服务的端口分别是哪个?2.NameNode的http服务的端口、ipc服务的端口分别是哪个?3.journalnode的http服务的端口、ipc服务的端口分别是哪个?4.ResourceManager的http服务端口是哪个?5.NodeManager的http服务端口是哪个?6.Master的http服务的端口、

Matlab在概率统计中的应用问题及解决方案集锦_matlab数学建模 概率题-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏9次。Matlab在概率统计中的应用(0001)问题:假设已知 Rayleigh 分布的概率密度函数为试用解析推导的方法求出该分布的分布函数、均值、方差、中心矩和原点矩。生成一组满足 Rayleigh 分布的伪随机数,用数值方法检验得出的解析结果是否正确。解:工具相应的数学定义的公式,所需的分布函数、均值、方差、中心矩和原点矩等可 以由下面的语句推导出来。>> syms x;syms b positivep=x*exp(-x^2/2/b^2)/b^..._matlab数学建模 概率题

关于一些不同寻常的tabBar的使用_手机app的tabbar能不能占比区域不同-程序员宅基地

文章浏览阅读509次。在实际开发中,系统的原生控件并不能满足我们的需求,这个时候就需要自己去自定义这个控件,自定义控件需要自己对原生控件结构非常了解。今天,这里来讲一下不同寻常的tabBar。原则:尽量利用系统自带的TabBar.只改需要改的地方不同寻常的tabBar 类型一:这种基本上是重写了整个tabbar,然后根据自己的需求来定义view的风格 步骤: 1.把自带的TaBBar条给隐藏掉,添加自己的view l_手机app的tabbar能不能占比区域不同

苹果电脑第一次用pygame创建主窗口卡死的解决方法_pycharm的pygame.display.set_mode很卡怎么办?-程序员宅基地

文章浏览阅读1.3k次,点赞4次,收藏2次。第一次使用pygame写游戏时,我创立窗口的时候遇到了这样的困难。首先给出我出现卡顿原因的代码:import pygamedef main(): screen = pygame.display.set_mode((350, 500), depth=32) background = pygame.image.load('/Users/chenyang0804/Desktop/屏幕快照 2020-08-17 下午8.54.21.png') pygame.display.set_ca_pycharm的pygame.display.set_mode很卡怎么办?

随便推点

C++的for循环中i++和++i_c++的for循环++i和i++-程序员宅基地

文章浏览阅读4.5k次,点赞5次,收藏7次。二者的循环次数都是一样的,区别在于:1.++i在跳出循环后还会递增1;2.++i占用的空间比i++小,由于运算符的重载,i++需要多定义一个变量。前置自加:T& operator++();后置自加:T& operator++(int);..._c++的for循环++i和i++

Hive大白话(●三●)_ptf操作hive-程序员宅基地

文章浏览阅读505次。EXPLAINFetch抓取本地模式_ptf操作hive

FASTA 与 FASTQ_fasta与fastq组装时哪个更占用系统资源‘’-程序员宅基地

文章浏览阅读171次。超详细https://zhuanlan.zhihu.com/p/190778779_fasta与fastq组装时哪个更占用系统资源‘’

Linux中MySQL安装不成功_【数据库】Linux下MySQL安装(装不上你找我)-程序员宅基地

文章浏览阅读966次,点赞2次,收藏5次。MySQL的安装一、准备环境//查看是否有MySQL相关依赖包rpm -qa|grep -i mysql//查看是否有MariaDB数据库管理系统,这个东西会影响MySQL的安装rpm -qa|grep -i mariadb//如果有上述相关依赖包,删除它rpm -e 文件名//如果删除失败,有相关使用rpm -e xxxx --nodeps//如果提示错误:error: %preun(xxxxx..._linux中数据库装不上什么原因

ASP.NET没有魔法——ASP.NET MVC 模型绑定-程序员宅基地

文章浏览阅读69次。  在My Blog中已经有了文章管理功能,可以发布和修改文章,但是对于文章内容来说,这里缺少最重要的排版功能,如果没有排版的博客很大程度上是无法阅读的,由于文章是通过浏览器查看的,所以文章的排版其实与网页的排版一致,是通过HTML+CSS实现的,但是在一个输入框中写文章内容还有HTML+CSS是不现实的,所以本文将使用ueditor编辑器来实现排版功能,并通过该功能为引介绍ASP.NE...

oracle+job+一小时,Oracle JOB定时任务-程序员宅基地

文章浏览阅读229次。--创建表createtableJOBTEST (IDVARCHAR2(50)primarykey,NAMEVARCHAR2(20), AGENUMBER(3) )--创建存储过程createorreplaceprocedurejobtestprocedureisbegininsertintojobtestvalues(to_char(sysdate,'yyyy-MM-dd hh:mm:ss'),..._oracle 定时任务每隔1小时

推荐文章

热门文章

相关标签