.ser 文件创建后可以编辑 .ser java 文件中使用的 类 吗?
Can classes used in .ser java file be edited after .ser file creation?
我正在尝试加载 class 前一段时间制作的 .ser 文件。
但我得到 ClassNotFoundException
。
我想知道,是不是因为我更改了那些文件中使用的 class?
因为class名称是一样的,唯一的变化就是一些新的方法。
如果是这种情况,有没有办法加载创建后 classes 发生更改的 .ser 文件?
java.lang.ClassNotFoundException: ebay.ItemEditObject
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.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)
I'm wondering, is it because I made changes to the class used in those files?
没有
Because the class name is the same, the only changes are some new methods.
这可能会导致 InvalidClassException
。不是 ClassNotFoundException
.
但是你没有得到这些。您收到 FileNotFoundException.
找不到文件。再看看。
我正在尝试加载 class 前一段时间制作的 .ser 文件。
但我得到 ClassNotFoundException
。
我想知道,是不是因为我更改了那些文件中使用的 class? 因为class名称是一样的,唯一的变化就是一些新的方法。
如果是这种情况,有没有办法加载创建后 classes 发生更改的 .ser 文件?
java.lang.ClassNotFoundException: ebay.ItemEditObject
at java.net.URLClassLoader.run(Unknown Source)
at java.net.URLClassLoader.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)
I'm wondering, is it because I made changes to the class used in those files?
没有
Because the class name is the same, the only changes are some new methods.
这可能会导致 InvalidClassException
。不是 ClassNotFoundException
.
但是你没有得到这些。您收到 FileNotFoundException.
找不到文件。再看看。