我有一个使用RichFaces 4.1.0的大型 Web 应用程序(100 多个 jsf 页面) 。我正在尝试RichFaces 4.3.0提供的新功能(例如rich:placeHolder)。这让我想到一个问题:如果我真的想使用新的 RichFaces 版本,我怎么知道升级是否安全?
我认为这是非常不安全的,因为不同的因素:旧的错误,新的错误,功能的变化,已经编写的代码(不一定是好的......),......
但是,我想知道,您通常如何在生产项目中处理此类问题。是否可以通过使用JUnit、Mockito、Arquillian或任何其他方法构建一个非常“好”的测试集来避免?或者,一旦交付,让应用程序保持原样可能是最好的方法?在这种情况下,我们将永远不会升级其中的任何 jar,(尽可能避免)?
针对这个特定问题,RichFaces 团队开发了一个名为CDK的内部框架,它提供组件独立性以促进模块化。这意味着我们可以使用rich:placeHolder组件并为其创建一个jar。然后我们必须将这个新jar添加到我们的应用程序中。这样可以避免升级所有主要的richfaces jar。这在这种情况下应该可以正常工作,因为rich:placeHolder是一个新组件,但如果我们尝试升级已经存在的组件,它将无法工作。
我认为同样的问题也适用于其他框架:Primefaces、Icefaces ......
您对如何承担升级问题有何建议?
问候,