Я скомпилировал свои старые JAR файлы в Java 7, а в моей рабочей среде есть Java 8. Есть ли что-то, что мне нужно, чтобы быть осторожным в прямом развертывании JAR файлов на Java 8 Environment? Я тестировал их на Java 8, и он работал нормально. Могу ли я столкнуться с какими-либо проблемами, или я должен быть в порядке? Мне было интересно, потому что я обсуждал удаление Java 8 и установку Java 7.
EDIT: побочный вопрос: обновляют ли компании свой код при обновлении своей версии Java? Я не могу себе представить, насколько это болезненно, так что ваше приложение работает над предыдущей версией, а затем полностью отказывается от новой версии.
Мне было интересно, потому что я обсуждал удаление Java 8 и установку Java 7.
Я предполагаю, что вы имеете в виду наоборот?
Java пытается поддерживать обратную совместимость, насколько это возможно, поэтому теоретически, по крайней мере, вы должны быть в порядке.
На практике, однако, иногда возникают проблемы, поэтому я бы тщательно тестировал тестирование. Это может быть связано с ошибками регрессии или (что более вероятно, по моему опыту) ошибкой кода, который мог бы работать нормально под Java 7, но не под 8. (FWIW, у меня было несколько приложений для FX, которые смешивались под 8, но работали нормально 7, оказалось, что оба из-за ошибок в моем коде, которые по совпадению не имели никаких необычных побочных эффектов при работе с 7.)
Обычно проблем не должно быть. В противном случае вам будет трудно использовать любые сторонние библиотеки, которые явно не скомпилированы для Java SE 8.
Я рекомендую запускать автоматические тесты на сервере непрерывной интеграции, таком как Jenkins, используя Java SE 8 и посмотреть, есть ли у вас какие-либо проблемы.
Безопасно упаковывать приложение Java 8 с jar-зависимостями, скомпилированными с Java 7. Однако, учитывая сказанное, помните о различиях в JDK 7 и 8, что может привести к тому, что один и тот же код Java может вести себя по-разному при работе на JDK 8 и JDK 7 (см. примечания к выпуску JDK 8)