我使用ObjectOutputStream将PublicKey实例保存在一个文件中。然后将该文件存储在一个jar文件中,然后由JBoss加载。我正在尝试读取此文件,但它会抛出一个异常,告诉它不可序列化。 这是代码:
InputStream input = KeyLoader.class.getClassLoader()。getResourceAsStream(resource); ObjectInputStream objectInputStream = new ObjectInputStream(input); Object obj = objectInputStream.readObject(); 键输出=(键)obj; objectInputStream.close(); 返回输出;
这引发了我的异常 发生异常:java.io.NotSerializableException
答案 0 :(得分:0)
我不确定jar文件中的序列化/反序列化,但是 我无法看到你的其余代码,我可以说几件事:
key.getEcnoded()
,这将允许您使用键的字节进行输入/输出。 / LI>
醇>
修改强> 我不是很熟悉JBoss,但可能尝试使用JBossObjectInputStream和JBossObjectOutputStream(org.jboss.serial.io)。您还必须将jboss-serialization.jar添加到类路径中。见link
另外,我之前从未做过这类事情,但是如果你认为jar文件很复杂,你应该能够使用java.util.jar
包中的一些类来简化IO操作与jar文件。
我希望这会有所帮助。