2

我写了一些 Hudson 插件,在字段和类名方面发生了一些变化(重构主要是为了清理代码)。一般来说,一切正常,但在启动时,Hudson 将在构建 xml 中解组以前的插件数据。

我们大多数人都知道谁做过 Hudson 插件,hudson 将使用 camel-xstream(或类似工具),Hudson 将通过将对象的类、状态和字段编组到 build.xml 文件来持久化 Java 对象。如果对象更改并且字段名称被更改或删除,则会引发类似于“找不到字段 x,因为它不存在”的异常

我的问题是 - 有没有办法清理插件数据,这样当我安装新版本的插件时,旧信息不会被保留,也不会导致这些解组异常被抛出?

谢谢

4

1 回答 1

3

在研究了我试图解决的问题后,我发现 Hudson 实际上有一个内置的解决方案。

为了能够解决启动问题,您可以执行以下操作:

  1. 转到Manage Hudson链接
  2. 如果它未能解组对象,则会在页面顶部显示一个链接,内容为
    • “您有以旧格式存储的数据和/或不可读的数据。”
  3. 点击Manage按钮
  4. 将有一个所有失败的列表
    • 按下Discard Unreachable Data按钮
于 2011-01-10T22:39:01.003 回答