我正在尝试加载我之前做过的类的.ser文件。
但我得到了ClassNotFoundException
。
我想知道,是因为我对这些文件中使用的类进行了更改? 因为类名是相同的,所以唯一的变化是一些新的方法。
如果是这种情况,有没有办法加载.ser文件,这些文件在创建后更改了类?
java.lang.ClassNotFoundException: ebay.ItemEditObject
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at ebay.EbayMaster.getObjFromFile(EbayMaster.java:750)
at ebay.EbayMaster.createItemsForUpload(EbayMaster.java:340)
at ebay.EbayMaster.ebayRunner(EbayMaster.java:129)
at ebay.EbayMaster.main(EbayMaster.java:92)
答案 0 :(得分:1)
我想知道,是因为我对这些文件中使用的类进行了更改吗?
没有
因为类名相同,所以唯一的变化是一些新方法。
这可能导致InvalidClassException
。不是ClassNotFoundException
。
但是你没有得到这些。你得到FileNotFoundException.
找不到该文件。再看一遍。