我编写了一些 Hudson 插件,这些插件在字段和类名方面发生了一些变化(重构主要是为了清理代码)。一般来说,一切正常,但启动时,Hudson 会在构建 xml 中解码以前的插件数据。
我们大多数人都知道谁做过 Hudson 插件,Hudson 将使用camel-xstream(或类似的工具),Hudson 将通过将对象的类、状态和字段编码到 build.xml 文件来持久保存 Java 对象。如果对象发生更改并且字段名称发生更改或删除,则会引发类似于“无法找到字段 x,因为它不存在”的异常
我的问题是 - 有没有办法清理该插件数据,以便当我安装新版本的插件时,旧信息不会被保留,也不会导致抛出这些解码异常?
谢谢
最佳答案
在研究了我试图解决的问题之后,我发现 Hudson 实际上已经内置了一个解决方案。
为了解决启动问题,您可以执行以下操作:
- 转到
管理 Hudson
链接 - 如果无法解码对象
链接出现在页面顶部
上面写着
- “您有以旧格式存储的数据和/或不可读的数据。”
- 点击
管理
按钮 - 将会有所有失败的列表
- 按
放弃无法访问的数据
按钮
- 按
关于java - Hudson - 清理旧插件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4648480/