Обновить Java 7 до ... 8?10?11? - PullRequest
0 голосов
/ 22 октября 2018

Я сейчас работаю над большой системой, которая состоит из около 5 независимых проектов.Все эти проекты являются Java 7 и выполняются в JBoss EAP 6.1, некоторые из них являются веб-проектами с JSF, а другие - только библиотеками, которые используются в качестве зависимостей, или проектами, предоставляющими сервисы через веб-сервисы ... в Groovy 1.9 также есть система, у всех естьоколо 10 лет.

В связи с окончанием поддержки нам необходимо обновить JBoss и JDK.Я думал об обновлении до JDK 8 и Wildfly 8, но хотя Java 8 сегодня является рыночным стандартом, это уже очень старая версия, которой почти 5 лет, за исключением того, что Java 11 уже есть, а 12 уже в духовке..

Вопрос: Я знаю, что любое обновление будет травмирующим, в основном из-за библиотек JSF, таких как Richfaces, которые мы используем.Как вы думаете, я должен сосредоточиться на обновлении до JDK 8 или перейти прямо к JDK 10/11?

Я склонен перейти прямо к JDK 11, Wildfly 14 и последней версии Eclipse (мы все еще используем Kepler).Сам код не будет иметь серьезных изменений, меня больше всего беспокоит все старые библиотеки, которые мы используем: Richfaces, Joda, Tika, CXF, Guava, Groovy, HTTPClients и т. Д. ...

Кто-нибудь еще прошел через что-нибудь?как это недавно?Что вы рекомендуете?

1 Ответ

0 голосов
/ 22 октября 2018

Определенно начните в Java 7, для отдельной версии с рефакторингом, если вы нацелены на Java 11.

Вы говорите, что код большой.Цикломатическая структура может быть огромной.Так или иначе, вы хотите сначала разбить приложение на изолированные библиотеки, чтобы подготовиться к модулям.Может быть, «модуль» для каждого многоуровневого слоя, и для общего кода: 4-5 банок.

Для просто Java 8 вы можете начать прямо сейчас.

А затем начать рефакторинг для нового языка стилейв некоторой степени: сокращение кода (поскольку потоки более выразительны), возможно, использование новых временных классов вместо joda, Path / Files вместо File.

В Eclipse используйте SonarLint, чтобы избежать снижения качества кода иновые ненужные ошибки.

Важно: выполните инвентаризацию Excel всех источников, чтобы можно было зарегистрировать% выполненных на дату X, составить диаграмму прогресса в Excel.В противном случае вы не сможете объективно сообщить о своем прогрессе и, в частности, не сможете предсказать дату окончания.

...