ClassNotFoundException 小弟在eclipse中安装了svn的插件后,再执行与Socket相关的代码,无端报出ClassNotFoundException异常,检查过该class的路径,没有什么问题,请各位大神帮忙解答一下,小弟在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Eclipse 编译工程没错误?一般是java系统jar包未引用。默认Eclipse是自动引用的,除非工程有错误。 我并没有使用jar,该类是自己写的,异常信息如下10-21 04:10:09.292: W/System.err(5324): java.lang.ClassNotFoundException: Command10-21 04:10:09.303: W/System.err(5324): at java.lang.Class.classForName(Native Method)10-21 04:10:09.303: W/System.err(5324): at java.lang.Class.forName(Class.java:217)10-21 04:10:09.303: W/System.err(5324): at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:2304)10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1663)10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:683)10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1806)10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2006)10-21 04:10:09.323: W/System.err(5324): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1963)10-21 04:10:09.323: W/System.err(5324): at com.example.testsocket.SocketUtil$1.run(SocketUtil.java:69)10-21 04:10:09.323: W/System.err(5324): at java.lang.Thread.run(Thread.java:856)10-21 04:10:09.333: W/System.err(5324): Caused by: java.lang.NoClassDefFoundError: Command10-21 04:10:09.343: W/System.err(5324): ... 11 more10-21 04:10:09.343: W/System.err(5324): Caused by: java.lang.ClassNotFoundException: Didn't find class "Command" on path: /data/app/com.example.testsocket-2.apk10-21 04:10:09.343: W/System.err(5324): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)10-21 04:10:09.353: W/System.err(5324): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)10-21 04:10:09.353: W/System.err(5324): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)10-21 04:10:09.353: W/System.err(5324): ... 11 more10-21 04:10:09.353: W/System.err(5324): java.io.OptionalDataException10-21 04:10:09.363: W/System.err(5324): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:810)10-21 04:10:09.363: W/System.err(5324): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2006)10-21 04:10:09.363: W/System.err(5324): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1963)10-21 04:10:09.363: W/System.err(5324): at com.example.testsocket.SocketUtil$1.run(SocketUtil.java:69)10-21 04:10:09.373: W/System.err(5324): at java.lang.Thread.run(Thread.java:856)编译信息如下[2013-10-21 12:10:00 - TestSocket] Android Launch![2013-10-21 12:10:00 - TestSocket] adb is running normally.[2013-10-21 12:10:00 - TestSocket] Performing com.example.testsocket.MainActivity activity launch[2013-10-21 12:10:00 - TestSocket] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'bianxin'[2013-10-21 12:10:02 - TestSocket] Application already deployed. No need to reinstall.[2013-10-21 12:10:02 - TestSocket] Starting activity com.example.testsocket.MainActivity on device emulator-5554[2013-10-21 12:10:03 - TestSocket] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.testsocket/.MainActivity } 看下这有没有解决的办法http://bbs.csdn.net/topics/390257670常见的原因1 所需要的支持类库放错了地方,并没有放在类路径(CLASSPATH环境变量)里面。2 使用了重复的类库,且版本不一致。导致低版本的被优先使用。3 类名错了,一般是使用Class.forName的时候,手工指定了类名的情况。4 没有导入纯JAVA驱动包。3解决方案1 确认你的类库在系统的CLASSPATH下面,如果是Tomcat,则可以放在tomcat/lib/目录下面。2 删除重复的类库,只保留最新的。3 尽可能不使用这种编译器无法为你检查的方式。 java.lang.ClassNotFoundException: Command没找到Command这个类。 Command类跟主程序在一个package里,我也不知道为什么就找不到这个类了 在Android工程一起那应该能找到的,除非是引入第三方的jar文件。你是序列化的类么? 我看你的错误好像是网络传输中把类进行了转换。 手工指定类名是什么意思?另外我并没有引用外部jar包 在哪里找,麻烦说的具体一些Command确实是序列化的类,但是java.io.OptionalDataException应该是因为没有找到Command类而造成的 哦,那你要把服务器的Command类和Android Command类保持一致,需要同样的包名,和同样的序列化ID。一般是把服务器端的类打成jar包,放到Android libs下面作为引用,就不会有这种问题了。 关于应用发布 android ActionBar 最左侧图标,如何设成不能点击? 跨平台开发环境(UDE)最新版本出炉啦!!! 录音机 浅析Android系统属性SystemProperties 想实现一个功能,求思路 关于不同应用数据共享的问题 android 如何实现水平方向根据焦点位置自动滚动? 求助卡注册上网络的识别方法? 内存溢出OOM,求高手解救 通过uri获取文件路径问题 计算日期的方法
一般是java系统jar包未引用。默认Eclipse是自动引用的,除非工程有错误。
10-21 04:10:09.303: W/System.err(5324): at java.lang.Class.classForName(Native Method)
10-21 04:10:09.303: W/System.err(5324): at java.lang.Class.forName(Class.java:217)
10-21 04:10:09.303: W/System.err(5324): at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:2304)
10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1663)
10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:683)
10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1806)
10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
10-21 04:10:09.313: W/System.err(5324): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2006)
10-21 04:10:09.323: W/System.err(5324): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1963)
10-21 04:10:09.323: W/System.err(5324): at com.example.testsocket.SocketUtil$1.run(SocketUtil.java:69)
10-21 04:10:09.323: W/System.err(5324): at java.lang.Thread.run(Thread.java:856)
10-21 04:10:09.333: W/System.err(5324): Caused by: java.lang.NoClassDefFoundError: Command
10-21 04:10:09.343: W/System.err(5324): ... 11 more
10-21 04:10:09.343: W/System.err(5324): Caused by: java.lang.ClassNotFoundException: Didn't find class "Command" on path: /data/app/com.example.testsocket-2.apk
10-21 04:10:09.343: W/System.err(5324): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
10-21 04:10:09.353: W/System.err(5324): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
10-21 04:10:09.353: W/System.err(5324): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
10-21 04:10:09.353: W/System.err(5324): ... 11 more
10-21 04:10:09.353: W/System.err(5324): java.io.OptionalDataException
10-21 04:10:09.363: W/System.err(5324): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:810)
10-21 04:10:09.363: W/System.err(5324): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2006)
10-21 04:10:09.363: W/System.err(5324): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1963)
10-21 04:10:09.363: W/System.err(5324): at com.example.testsocket.SocketUtil$1.run(SocketUtil.java:69)
10-21 04:10:09.373: W/System.err(5324): at java.lang.Thread.run(Thread.java:856)
编译信息如下[2013-10-21 12:10:00 - TestSocket] Android Launch!
[2013-10-21 12:10:00 - TestSocket] adb is running normally.
[2013-10-21 12:10:00 - TestSocket] Performing com.example.testsocket.MainActivity activity launch
[2013-10-21 12:10:00 - TestSocket] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'bianxin'
[2013-10-21 12:10:02 - TestSocket] Application already deployed. No need to reinstall.
[2013-10-21 12:10:02 - TestSocket] Starting activity com.example.testsocket.MainActivity on device emulator-5554
[2013-10-21 12:10:03 - TestSocket] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.testsocket/.MainActivity }
常见的原因1 所需要的支持类库放错了地方,并没有放在类路径(CLASSPATH环境变量)里面。
2 使用了重复的类库,且版本不一致。导致低版本的被优先使用。
3 类名错了,一般是使用Class.forName的时候,手工指定了类名的情况。
4 没有导入纯JAVA驱动包。
3解决方案1 确认你的类库在系统的CLASSPATH下面,如果是Tomcat,则可以放在tomcat/lib/目录下面。
2 删除重复的类库,只保留最新的。
3 尽可能不使用这种编译器无法为你检查的方式。
没找到Command这个类。
手工指定类名是什么意思?
另外我并没有引用外部jar包
Command确实是序列化的类,但是java.io.OptionalDataException应该是因为没有找到Command类而造成的