Вот небольшое объяснение моей проблемы.JAVA Compilation: скомпилируйте новую версию JVM и запустите на старой версии
У меня есть приложение, которое было скомпилировано с помощью java 1.5. Это приложение устанавливается на 2000 шт. (Блокбоксы), установленные в клиентских посылках. Ящик моего приложения часто обновляется, чтобы добавить новую функцию и исправления, но по техническим причинам обновить версию java не так просто, поэтому я должен продолжать использовать Java 1.5 на этих существующих машинах.
Несколько месяцев назад я получил запрос на новое требование для этого приложения. Чтобы выполнить эту задачу, я добавил использование Hazelcast в этом приложении.
Моей проблема, если следующий: - Hazelacast файл банка необходима Java 1.6 или выше, так что я должен скомпилировать мое приложение с 1.6 - Новая функциональность с помощью hazelcast будет активирована только по требованию настроек нового параметра. Это означает, что он не будет использоваться в уже установленных черных ящиках 2000 года. - Все новые черные ящики будут установлены с Jave 1.6 или выше, чтобы использовать функциональность Hazealcast.
Моя проблема заключается в том, что я хочу иметь уникальный исходный код и уникальную версию моего приложения для старых blackboses с использованием Java 1.5 и новых черных ящиков с использованием 1.6 или выше.
В начале моя идея заключалась в том, чтобы всегда компилировать версию 1.5 и убедиться, что новая функциональность будет активирована только в блокбозах с использованием java 1.6 или выше. Эта опция не работает, потому что, когда я компилирую с 1.5, компилятор жалуется, что файл jar-файла Hazelcast нуждается в 1.6 :(
Второй вариант заключается в компиляции с 1.6, но тогда я не могу быть уверен, что мое приложение все равно будет работать .? должным образом на всех blackboxes с помощью 1.5 :(
Я хотел бы знать, если кто-то здесь будет знать, как решать проблемы такого рода
Просто дайте мне знать, если мое объяснение не понятно;)
Заранее благодарим за помощь.
Вы используете новую функциональность из банки, или ее источники находятся в старой банке? – rzysia
Почему вы не тестируете все свое приложение на тестовой машине с java 1.6? – gRaWEty
* «Второй вариант заключается в компиляции с 1.6, но тогда я не могу быть уверен, что мое приложение будет по-прежнему работать правильно на всех черных ящиках с использованием 1.5. :(* * Вот почему какой-то мудрый человек изобрел [_интеграционное тестирование _] (https: //en.wikipedia.org/wiki/Integration_testing) и [_system testing_] (https://en.wikipedia.org/wiki/System_testing). – Tom