используя разные версии обновления Java | Как это влияет на приложение? - PullRequest
2 голосов
/ 27 ноября 2009

Возникают ли какие-либо странные ошибки, когда код компилируется с одной версией Java и если он развернут в разных версиях?

На нашей машине dev (Windows) мы используем JDK.1.4.2_13, а в QA (тест) и Prod [оба являются UX-боксами] его JDK.1.4.2_9.

Я говорю не о главных версиях, а о второстепенных версиях / обновлениях!

Я согласен, что это хорошо, если он одинаков для всех машин. Но нормально ли, если есть какая-то разница в минор или обновлениях?

Ответы [ 5 ]

4 голосов
/ 27 ноября 2009

Как рекомендует @Nathan, ваша QA и производственная среда действительно должны использовать одну и ту же версию JDK и в целом должны быть максимально идентичными. Лучше иметь одинаковую конфигурацию и в вашей среде разработки.

Например, скажем, ваша производственная среда находится на JDK.1.4.2_9, но ваша разработка и QA используют более новую версию JDK.1.4.2_13. Предположим также, что ваш новый выпуск зависит от исправления, впервые внесенного в JDK.1.4.2_13. В этом случае QA пройдет, но производство не удастся, что может привести к катастрофическим последствиям.

Но ваш QA также находится на JDK.1.4.2_9. Предполагая, что ваш процесс обеспечения качества хорош и тщателен, он поймает зависимость вашего нового выпуска от нового JDK.1.4.2_13, и вы можете это исправить.

Что если ваш QA был испорчен? В этом случае проблема сначала проявится в производстве. По этой причине лучше поддерживать среду разработки на JDK.1.4.2_9, чтобы снизить вероятность появления ошибки в рабочей среде.

Вы можете обновиться до JDK.1.4.2_13 везде, только не во время выпуска кода. Сделайте это самостоятельно, сначала обновив и протестировав в своей среде разработки, затем в среде QA, а затем развернув изменения в рабочей среде.

1 голос
/ 27 ноября 2009
1 голос
/ 27 ноября 2009

Вы не должны сталкиваться с проблемами при незначительных изменениях версии, формат байт-кода точно такой же. Существуют изменения между второстепенными версиями, но, как правило, это ошибки и исправления безопасности, которые не должны влиять на ваше приложение.

При этом лучший вариант - запустить QA и производство в одних и тех же версиях, чтобы гарантировать, что не будет изменений в функциональности, которые изменят работу вашего приложения.

0 голосов
/ 27 ноября 2009

все старые версии байт-кода поддерживаются новой версией, кроме устаревших API НО НОВЫЙ байт-код никогда не поддерживается старыми версиями.

так что лучше по требованию клиента или по нашим требуемым методам Всегда следует использовать минимальную (более старую) версию

0 голосов
/ 27 ноября 2009

Нет разницы в байт-коде и API между второстепенными версиями. Эти версии, конечно, не одинаковы, но почти все время ведут себя одинаково. Однако могут появиться некоторые различия, например, ошибка, которая появляется в более старом JDK и исправлена ​​в более новом.

Будьте осторожны при использовании правильных конструкций в гетерогенной среде Win / Unix для однократной записи и запуска везде. Например, используйте java.io.File.separator вместо косой черты или обратной косой черты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...