出现这种异常怎么办java.lang.throwableNoClassDefFoundError

ecplise调试 java.lang.NoClassDefFoundError异常解决方法
时间: 12:54:02
外部android工程import到ecplise中去,编译正常,运行报错,logcat 如下:
12-19 10:55:25.915: E/AndroidRuntime(2929): FATAL EXCEPTION: main
12-19 10:55:25.915: E/AndroidRuntime(2929): java.lang.NoClassDefFoundError: com.guet.SiriCN.MainActivity$1
12-19 10:55:25.915: E/AndroidRuntime(2929): &at com.XXX.MainActivity.&init&(MainActivity.java:189)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at java.lang.Class.newInstanceImpl(Native Method)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at java.lang.Class.newInstance(Class.java:1429)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at android.app.ActivityThread.access$2300(ActivityThread.java:125)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at android.os.Handler.dispatchMessage(Handler.java:99)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at android.os.Looper.loop(Looper.java:123)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at android.app.ActivityThread.main(ActivityThread.java:4627)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at java.lang.reflect.Method.invokeNative(Native Method)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at java.lang.reflect.Method.invoke(Method.java:521)
12-19 10:55:25.915: E/AndroidRuntime(2929): &at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
找了很多原因,最后发现时引入外部jar包的时候,如果该jar包不在lib目录中,需要单独再引用一次,解决方法如下:
properties - java build path - order and export页面
$T.total > 0 && $T.page <= $T.pageNum}
{#foreach $T.data as r}
{$T.r.formt_tm}{#if $T.r.nickname}{#else}匿名{#/if}
{$T.r.content}
{#if $T.page > 1 && $T.pageNum > 1)
$T.s_num > 2}
{#for index = $T.s_num to $T.e_num}
$T.pageNum > $T.pageNavSize+ 2 && $T.s_num != $T.pageNum - $T.pageNavSize}
{#if $T.pageNum > 1}
{#if $T.pageNum != $T.page && $T.pageNum > 1}
<a href="javascript:void(0);" page="{$T.page 下一页
您的回应...
也许你感兴趣
(window.slotbydup=window.slotbydup || []).push({
id: '3465635',
container: s,
size: '120,240',
display: 'float'
(C)2012 本站提供的内容来源于广大网络用户,我们不保证内容的正确性。如果转载了您的内容,希望删除的请联系我们!10:28 提问
求问java.lang.NoClassDefFoundError是什么原因
求大神帮助!!!
我从别的项目搞过来jar包,放到项目WEB-INF/lib文件夹下后,运行报异常
严重: Servlet.service() for servlet [ResouceServlet] in context with path [/test] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoClassDefFoundError: Could not initialize class com.tt.report.core.prosess.ProsessFactory
at com.tt.report.ResouceServlet.doGet(ResouceServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
其中ProsessFactory类的代码
public class ProsessFactory
public static Map prosessFactory = new HashMap();
public static Prosess defaultProsess = new DefaultProsess();
prosessFactory.put("createImage", new CreateImageProess());
prosessFactory.put("read", new ReadProsess());
prosessFactory.put("write", new WriteProsess());
prosessFactory.put("page", new WriteProsess());
prosessFactory.put("write_content", new WriteContentProsess());
prosessFactory.put("page_content", new WriteContentProsess());
prosessFactory.put("write_verify", new WriteVerifyProsess());
prosessFactory.put("write_writeContent", new WriteWriteContentProsess());
prosessFactory.put("closesessionid", new CloseSessionProsess());
prosessFactory.put("resource", new ResourceProsess());
prosessFactory.put("widget", new WidgetProsess());
prosessFactory.put("write_cal_cell", new WriteCalCellProsess());
prosessFactory.put("paint", new PaintProsess());
prosessFactory.put("paint_page", new PaintPageProsess());
prosessFactory.put("fr_dialog", new dialogParametersProsess());
prosessFactory.put("readReportTpl", new ReadReortTplProsess());
prosessFactory.put("writeReortTpl", new WriteReortTplProsess());
prosessFactory.put("rometReport", new RometReportProcess());
prosessFactory.put("emb", new EmbResourceService());
prosessFactory.put("export", new ExportService());
prosessFactory.put("heartbeat", new HeartBeatService());
prosessFactory.put("reset_H_W", new ReSetCellWHProsess());
prosessFactory.put("showtest", new TestShowSessionProsess());
prosessFactory.put("writecontentcache", new WriteContentCacheProsess());
prosessFactory.put("fr_write", new AppendOrDeleteProsess());
public static Prosess getProsess(String op)
if (op == null) {
op = "page";
return (Prosess)prosessFactory.get(op);
不知是什么原因?
先谢谢,万分感谢了
按赞数排序
你的jar包是否有导入到build-path中
不能初始化你的类,你的类在jvm虚拟机中无法找到,但在编译时候可以找到会报这种错误
com.tt.report.ResouceServlet.doGet(ResouceServlet.java:75)你去看你这行代码有问题,就是它报的错
其他相关推荐出现这种异常怎么办java.lang.NoClassDefFoundError_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
出现这种异常怎么办java.lang.NoClassDefFoundError
我有更好的答案
说明原来程序的classpath被其他人覆盖了,如果增加之后程序能正常运行.html" target="_blank">http://zhidao.baidu。当类不在classpath中时:///question/,或者jar的文件名发生变更会导致java.lang.NoClassDefFoundError: Could not initialize class。(http://blog,这种情况很难确切的知道.ExceptionInInitializerError的错误日志,ExceptionInInitializerError的错误会导致java.lang当发生由于缺少jar文件,或者jar文件没有添加到classpath
采纳率:78%
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;运行myeclipse时出现java.lang.NoClassDefFoundError的错误 - ITeye问答
我想获得网页的编码,在网上找了可以用chardet.jar中的方法实现,于是下载了它,导入我的工程中,然后用如下代码进行测试:
import info.monitorenter.cpdetector.io.CodepageDetectorP&&
import info.monitorenter.cpdetector.io.HTMLCodepageD&&
import info.monitorenter.cpdetector.io.JChardetF&&
import java.io.BufferedR&&
import java.io.IOE&&
import java.io.InputStreamR&&
import java.net.HttpURLC&&
import java.net.URL;&&
import java.util.I&&
import java.util.L&&
import java.util.M&&
import java.util.S
public class WebEncoding {
private static CodepageDetectorProxy detector = CodepageDetectorProxy&&
&&& .getInstance();&&
static {&&
detector.add(new HTMLCodepageDetector(false));&&
detector.add(JChardetFacade.getInstance());&&
/** 测试用例&
* @param args&
public static void main(String[] args) {&&
WebEncoding web=new WebEncoding();
System.out.println("*******************");
&&& System.out.println(web.getCharset("/"));&&
} catch (IOException e) {&&
&&& // TODO Auto-generated catch block&&
&&& e.printStackTrace();&&
* @param strurl&
*&&&&&&&&&&& 页面url地址,需要以 http://开始,例:&
* @return&
* @throws IOException&
public String getCharset(String strurl) throws IOException {&&
// 定义URL对象&&
URL url = new URL(strurl);&&
// 获取http连接对象&&
HttpURLConnection urlConnection = (HttpURLConnection) url&&
&&&&&&& .openConnection();&&
urlConnection.connect();&&
// 网页编码&&
String strencoding =&&
* 首先根据header信息,判断页面编码&
// map存放的是header信息(url页面的头信息)&&
Map&String, List&String&& map = urlConnection.getHeaderFields();&&
Set&String& keys = map.keySet();&&
Iterator&String& iterator = keys.iterator();&&
// 遍历,查找字符编码&&
String key =&&
String tmp =&&
while (iterator.hasNext()) {&&
&&& key = iterator.next();&&
&&& tmp = map.get(key).toString().toLowerCase();&&
&&& // 获取content-type charset&&
&&& if (key != null && key.equals("Content-Type")) {&&
&&&&&&& int m = tmp.indexOf("charset=");&&
&&&&&&& if (m != -1) {&&
&&&&&&&&&&& strencoding = tmp.substring(m +.replace("]", "");&&
&&&&&&&&&&&&&
&&&&&&& }&&
* 通过解析meta得到网页编码&
// 获取网页源码(英文字符和数字不会乱码,所以可以得到正确&meta/&区域)&&
StringBuffer sb = new StringBuffer();&&
&&& BufferedReader in = new BufferedReader(new InputStreamReader(url&&
&&&&&&&&&&& .openStream()));&&
&&& while ((line = in.readLine()) != null) {&&
&&&&&&& sb.append(line);&&
&&& in.close();&&
} catch (Exception e) { // Report any errors that arise&&
&&& System.err.println(e);&&
&&& System.err&&
&&&&&&&&&&& .println("Usage:&& java&& HttpClient&& &URL&&& [&filename&]");&&
String htmlcode = sb.toString();&&
// 解析html源码,取出&meta /&区域,并取出charset&&
String strbegin = "&meta";&&
String strend = "&";&&
int begin = htmlcode.indexOf(strbegin);&&
int end = -1;&&
while (begin & -1) {&&
&&& end = htmlcode.substring(begin).indexOf(strend);&&
&&& if (begin & -1 && end & -1) {&&
&&&&&&& strtmp = htmlcode.substring(begin, begin + end).toLowerCase();&&
&&&&&&& inttmp = strtmp.indexOf("charset");&&
&&&&&&& if (inttmp & -1) {&&
&&&&&&&&&&& strencoding = strtmp.substring(inttmp + 7, end).replace(&&
&&&&&&&&&&&&&&&&&&& "=", "").replace("/", "").replace("\"", "")&&
&&&&&&&&&&&&&&&&&&& .replace("\'", "").replace(" ", "");&&
&&&&&&&&&&&&&
&&&&&&& }&&
&&& htmlcode = htmlcode.substring(begin);&&
&&& begin = htmlcode.indexOf(strbegin);&&
* 分析字节得到网页编码&
strencoding = getFileEncoding(url);&&
// 设置默认网页字符编码&&
if (strencoding == null) {&&
&&& strencoding = "GBK";&&
* 方法说明:通过网页内容识别网页编码&
* 输入参数:strUrl 网页链接; timeout 超时设置&
* 返回类型:网页编码&
public static String getFileEncoding(URL url) {&&
java.nio.charset.Charset charset =&&
&&& charset = detector.detectCodepage(url);&&
} catch (Exception e) {&&
&&& System.out.println(e.getClass() + "分析" + "编码失败");&&
if (charset != null)&&
&&& return charset.name();&&
}
可运行时总是出现java.lang.NoClassDefFoundError: org/mozilla/intl/chardet/nsICharsetDetectionObserver的错误 !!!!
问题补充:ddzero 写道就是说少了org/mozilla/intl/chardet/nsICharsetDetectionObserver这个类,一般这种问题是少了某个jar文件,你试试加载 jchardet-1.0.jar 看看?
还是不行啊。。。奇怪的是:在运行之前,先在"run-&run configurations-&"中选中要运行的文件,在右侧main class处选择了org.mozilla.intl.chardet.HtmlCharsetDetector然后运行结果为:
Usage: HtmlCharsetDetector &url& [&languageHint&]
Where &url& is http://...
For optional &languageHint&. Use following...
1 =& Japanese
2 =& Chinese
3 =& Simplified Chinese
4 =& Traditional Chinese
5 =& Korean
6 =& Dont know (default)
根本没有运行main函数的样子啊
问题补充:ddzero 写道run configurations我是没试过,只是main函数的话用run Appllication不就行了?
直接运行的话,就出现java.lang.NoClassDefFoundError: org/mozilla/intl/chardet/nsICharsetDetectionObserver的错误,如果在"run-&run configurations-&"中选中要运行的文件,在右侧main class处选择了org.mozilla.intl.chardet.HtmlCharsetDetecto,运行时结果为
Usage: HtmlCharsetDetector &url& [&languageHint&]
Where &url& is http://...
For optional &languageHint&. Use following...
1 =& Japanese
2 =& Chinese
3 =& Simplified Chinese
4 =& Traditional Chinese
5 =& Korean
6 =& Dont know (default)
如果在"run-&run configurations-&"对话框中选中要运行的文件,在右侧main class处选择了org.mozilla.intl.chardet.HtmlCharsetDetecto,并选择(x)=argument标签,在上面一个文本框中输入如"",运行时,会显示它的正确编码为gb2312,类似地,换成别的网址也会显示其编码,但是,不想每次都去做相应的更改,把这个网址参数作为变量,怎么设置呢
问题补充:这是用到的两个jar包
问题补充:这是部分截图:
执行结果:
问题补充:ddzero 写道另外关于你用run configurations进行的测试,首先你运行的是
org.mozilla.intl.chardet.HtmlCharsetDetecto
这个类,与WebEncoding无关,即是说两者用到的类不一定相同(你的还需要antlr包里的类)。
其次HtmlCharsetDetecto这个类的main方法是基于参数的,要成功运行当然需要你输入参数了。
我发现,是我加jar包的方式的问题;我先前都是右击文件,在configure build path中添加jar包的,现在我换成选择文件,在菜单栏处windows-&preferences中添加jar包,这样的话就可以运行了,不用加antlr-2.7.6.jar包的。不过非常感谢这位一直帮助我的热心人
下载次数: 45
下载次数: 43
采纳的答案
另外关于你用run configurations进行的测试,首先你运行的是
org.mozilla.intl.chardet.HtmlCharsetDetecto
这个类,与WebEncoding无关,即是说两者用到的类不一定相同(你的还需要antlr包里的类)。
其次HtmlCharsetDetecto这个类的main方法是基于参数的,要成功运行当然需要你输入参数了。
我测试了一下,还是缺少jar包,除了你用到的那两个jar包,你还需要再加一个antlr的jar包(我用的是antlr-2.7.6.jar),然后直接run application就行了。这是输出结果:
*******************
run configurations我是没试过,只是main函数的话用run Appllication不就行了?
就是说少了org/mozilla/intl/chardet/nsICharsetDetectionObserver这个类,一般这种问题是少了某个jar文件,你试试加载 jchardet-1.0.jar 看看?
已解决问题
未解决问题出现这种异常怎么办java.lang.NoClassDefFoundError_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
出现这种异常怎么办java.lang.NoClassDefFoundError
我有更好的答案
你先看是哪一行代码有问题,然后可以查看相应的API文档,看看 是什么原因抛出的异常,或者你把出错的那一行贴出来
为您推荐:
其他类似问题
java的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;

我要回帖

更多关于 java.lang.long 的文章

 

随机推荐