Можно ли развернуть войну jdk 6 (или 7) в экземпляре контейнера, работающем в среде jre 5? - PullRequest
0 голосов
/ 06 мая 2020

Я бы скомпилировал устаревший веб-проект компании java, в настоящее время скомпилированный с jdk 5, с jdk 6, чтобы обновить версию некоторых используемых библиотек, таких как Struts, Axis и т. Д. c ...

Поскольку это приложение необходимо развернуть в экземпляре Tomcat 5.5, работающем в среде jre 5, совместно с несколькими другими проектами, ни версия Tomcat, ни версия jre не могут быть обновлены.

Интересно, возможно ли это, развернуть войну, содержащую код, скомпилированный с версией java (версия 6 или 7) новее, чем jre (версия 5), на котором запущен контейнер?

Ответы [ 2 ]

3 голосов
/ 06 мая 2020

Короткий ответ: Нет

Длинный ответ: Возможно, ваш код можно скомпилировать с помощью '-target 1.5'. Однако в этом случае весь код, включая любые связанные зависимости, также должен быть скомпилирован с помощью «-target 1.5», что полностью устраняет цель обновления JDK. Вы также должны быть осторожны, чтобы не использовать какой-либо API, который был введен в Java 6 (или 7), ни в вашем коде, ни в связанных зависимостях.

Другими словами, нет смысла пытаться сделать это как никакая потенциальная выгода не может быть использована в любом случае.

0 голосов
/ 06 мая 2020

Каждая версия JDK имеет некоторые изменения, вам необходимо понять, использует ли код в вашем проекте эти измененные функции. Если это не имеет ничего общего с вашим кодом, вы можете обновить

...