У меня на ноутбуке Java 8.Я использовал библиотеку java.time для написания небольшого фрагмента кода для расчета времени обработки приложения с использованием Eclipse IDE v4.9 (выпуск 2018-09).В проекте использовалась версия компилятора Java 1.6.Затем я запустил приложение на своем ноутбуке, и оно запустилось без ошибок, и оно дало ожидаемый результат.Затем я экспортировал приложение в файл war, используя компилятор Java 1.6, чтобы запустить его на сервере Tomcat 6 под управлением Java 1.7 vm.Я столкнулся со следующей ситуацией:
- В файле журнала не было ошибок.Уровень журнала был установлен на отладку.
- Приложение обрабатывает строки базы данных и, основываясь на некоторой логике, вставляет в 4 разные таблицы базы данных.Во время опроса входной таблицы базы данных приложение не подбирало допустимые входные строки.
- Я установил Java 7 на свой ноутбук, сделал Java 7 рабочей средой JRE, а фрагмент кода вызвал ошибку компиляции.
Мой вопрос: когда я использую компилятор Java 6 для компиляции кода на основе библиотеки Java 8, разве сборка не должна завершиться неудачей?Ни разу во время всего упражнения не было ошибок приложения, и оно успешно работало на моем ноутбуке и показало ожидаемый результат (очевидно, из-за моего ноутбука с Java 8 vm).То, как я уловил причину проблемы, было чистой случайностью.Это ошибка Java или известная проблема?
Обновление: я не ищу решения проблемы.Я ищу объяснение поведения компилятора Java.