Wicket版本升级到最新版总是一个好主意吗?

时间:2014-08-25 16:08:36

标签: version wicket

升级到最新版本的Wicket是不是一个坏主意?假设我有一个非常大的项目,早期发布Wicket。如果我更新到最新版本,是否所有内容都必须重新测试任何运行时错误?或者Wicket的更新是否可以向后兼容?

我问,因为这是我目前面临的情况,如果有可能存在隐藏的错误,我不确定是否值得升级,并且每次Wicket升级都需要花费无数个小时重新测试每个功能。

1 个答案:

答案 0 :(得分:4)

我认为使用新版本的Wicket创建项目的另一个分支并尝试迁移是个好主意。

从一个主要版本到另一个主要版本存在API中断,因此,即使部署项目也可能需要很长时间而不会出现任何编译错误。在某些情况下,在不同版本中有不同的方法来实现相同的功能。

例如:

要在wicket 1.4中添加标题参与者,请使用:

    public class MyPage extends WebPage {
         add(HeaderContributor.forJavaScript(YuiLib.class,
                                  "yahoo-dom-event/yahoo-dom-event.js"));
    }

在wicket 1.5中,你需要覆盖组件的renderHead方法来实现这个目标:

    public class MyPage extends WebPage {
        public void renderHead(IHeaderResponse response) {
            response.renderJavaScriptReference( new PackageResourceReference (
                              YuiLib.class, "yahoo-dom-event/yahoo-dom-event.js" ) 
                             );
        }
    }

我不是说新版本比旧版本更糟糕(不,它们更好),但迁移需要时间。如果你能做到这一点(根据migration guides) - 你不能害怕新版本引起的运行时错误。

还有一件事,如果您决定迁移到最新的wicket版本 - 7.x,那么您还必须将您的jdk升级到至少7版本并使用Servlet 3兼容容器(观看您的应用服务器机会)。 / p>