永发信息网

java.lang.NoClassDefFoundError: org/ksoap2/SoapEnvelope这个错误是如何解决哦?

答案:3  悬赏:10  手机版
解决时间 2021-03-03 16:56
我把ksoap2-j2me-core-2.1.2.jar 放到wtk/lib下面了,另外在项目的build path中添加了这个包,编译能通过,在仿真器里面执行就出现上面的错误,我在项目属性->order and export中选上这个引用,可还是不行。
最佳答案
SoapEnvelope这个类确定是在ksoap2-j2me-core-2.1.2.jar 中吗?
如果不在,就是少了包.
一般像你说的情况,能编译通过,那么就是你导入的包中又引用了其它包中的类,而你没有导入这个包。

你可以将ksoap2-j2me-core-2.1.2.jar 解压,然后看看org/ksoap2/SoapEnvelope这个类可以找到吗?
如果找不到。那肯定是少了另一个包.
全部回答
ksoap2-j2me-core-2.1.2.jar也要复制到另外一个位置吧,以前好像遇到过,记不清楚了
main线程中抛出java.lang.noclassdeffounderror是一个非常普遍且比较难解决的问题。解决这个问题的复杂性主要取决于你的软件大小和中间件部署情况,尤其要考虑在应用中出现的数量众多的classloader的情况。 本文将从一个比较高的角度看这个问题,主要是介绍java classloader机制。 我们先简单的看一下这个问题,这个runtime异常是jvm抛出的,当jvm发现一个classloader试图去load一个class,而此class在当前的classloader tree中找不到的时候,就会抛出此异常。 很明显,这个问题是运行期的问题,在编译期一切正常。 ok,到这里还不行,这个问题解决起来不是那么容易的,在运行期的程序classpath中加入缺少的jar包仅仅是一种解决方法。关键是,我们必须掌握此种异常的根本原因,以后解决此问题就可以以不变应万变。这就是我写这个文章的初衷。 现在,先记住,此问题不一定是由于在classpath中缺少class的定义。 java classloader概述 在深入分析之前,我们必须掌握java classloader的基本原理。class loader是一个java对象,它负责load所有的class,负责查找、加载、生成一个class的基本定义信息。classloader自身采用了委托代理机制来查询class,每一个classloader的实例都有一个父classloader,所以,当一个应用的classloader去加载class a的时候,首先发生的事情是classloader委托其父classloader去加载class a,经过一串链式查找后,最终任务会落在jvm的系统启动classloader上。 那哪里会出问题?当你期望你的应用classloader能加载class a,但是当class a被其任意一个父classloader查询到并加载,那么就可能会出现java.lang.noclassdeffounderror。当所有的父classloader都找不到class a的时候,才会由应用自己的classloader尝试加载。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
美国旅游拒签为什么有人说加拿大领事馆查的到
先修导学和强化阶段的课有什么区别
掘进机掘工作面作业规程
万事达工贸大厦-停车场怎么去啊,有知道地址
和朋友唱ktv的日记500字
碳酸根和碳酸有什么区别
国家电网内乡县供电营业厅地址在哪,我要去那
用氢氧化钠滴定用选什么做指示剂
乳腺癌可以吃哪些食物,禁忌吃什么食物?
跑八万公里的荣威350大概值多少钱
机关事业单位与企业养老金同步提高啥意思
您好,我捡到一个POS刷卡机想自己拿来用,这
东阳市至尊堂红木怎么去啊,有知道地址的么
十部经典鬼片。
【脚丫论文】论文是不是就是作文两个有什么区
推荐资讯
冰与火之歌为什么不制成大型游戏
apple watch一直提示输入密码是不是传感器坏
王宝强真的是农民出来的?
出纳交接表 5分
下列各项,不属于厥阴病证临床表现的是()A.心
安泽县唐城小学地址在哪,我要去那里办事
通常情况下法院收回的结婚证会怎么出理
华硕885m_k主板能上2tb 硬盘不
拍写真集,临沂哪家影社比较好
被后人尊称为“人文初祖”的神话传说人物是AA
皮草掉色是不是假的
在昆明 按一个整体橱柜要多少钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?