我目前正在开发一个大型系统,该系统由大约5个独立项目组成。 所有这些项目都是java 7并在JBoss EAP 6.1中运行,有些是带有JSF的Web项目,另一些仅是用作依赖项的lib或通过webservices提供服务的项目...在groovy 1.9中还有一个系统,它们都具有大约十岁了。
由于支持终止,我们需要更新JBoss和JDK。 我曾考虑过对JDK 8和Wildfly 8进行更新,但是尽管Java 8是当今的市场标准,但它已经是一个非常老的版本,已有近5年的历史了,只是Java 11已经存在,而12已经在烤箱中了。
问题: 我知道任何升级都会令人痛苦,主要是因为我们使用了诸如Richfaces之类的JSF库。您认为我应该集中精力升级到JDK 8还是直接升级到JDK 10/11?
我倾向于直接使用JDK 11,Wildfly 14和最新版本的Eclipse(我们仍然使用开普勒)。 代码本身不会有重大变化,我最大的担心是我们使用的所有旧库:Richfaces,Joda,Tika,CXF,Guava,Groovy,HTTPClients等...
最近有没有其他人经历过类似的事情?您有什么建议?
答案 0 :(得分:0)
如果您要定位Java 11,则一定要从Java 7开始,以获得单独的重构版本。
您说的是代码很大。环状结构可能很大。 因此,您想以某种方式首先将应用程序拆分到隔离的库中,以便为模块做准备。也许是每个分层层的“模块”,以及通用代码:4-5个罐子。
对于Java 8,您可以立即开始。
然后在某种程度上开始对新样式语言功能进行重构:缩短代码(因为流更具表现力),也许使用新的时间类而不是joda,使用路径/文件而不是文件。
在Eclipse中使用SonarLint避免代码质量下降和不必要的新错误。
重要提示:对所有来源进行Excel清单清点,因此您可以注册在日期X完成的%,在Excel中制作进度图。否则你会 无法客观地传达您的进度,尤其是无法预测结束日期。