升级到最新版本的Wicket是不是一个坏主意?假设我有一个非常大的项目,早期发布Wicket。如果我更新到最新版本,是否所有内容都必须重新测试任何运行时错误?或者Wicket的更新是否可以向后兼容?
我问,因为这是我目前面临的情况,如果有可能存在隐藏的错误,我不确定是否值得升级,并且每次Wicket升级都需要花费无数个小时重新测试每个功能。
答案 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>