Я использую Eclipse 3.3. В моем проекте я установил уровень соответствия компилятора на 5.0 в пути сборки для проекта. Я добавил Java 1.5 JDK в раздел «Установленные JRE» и ссылаюсь на эту системную библиотеку в пути сборки моего проекта. Тем не менее, я получаю ошибки компиляции для класса, который реализует PreparedStatement для не реализации абстрактных методов, которые существуют только в Java 1.6 PreparedStatement. В частности, методы
setAsciiStream(int, InputStream, long) and
setAsciiStream(int, InputStream)
Как ни странно, он работал, когда мы компилировали его для Java 1.4, для которой он изначально был написан. Мы добавили JRE для Java 1.4 и обратились к этой системной библиотеке в проекте, установили уровень компилятора проекта на 1.4, и он работает нормально. Но когда я делаю те же изменения, чтобы попытаться указать на Java 5.0, он вместо этого использует Java 6.
Есть идеи почему?
Я уже писал подобный вопрос здесь:
как мне заставить eclipse использовать другую версию компилятора для Java?
Я знаю, как вы должны выбрать другой компилятор, но, похоже, Eclipse его не использует. Похоже, что по умолчанию Java 6, хотя я удалил все JDK и JRE Java 6, которые я мог найти. Я также обновил параметр -vm в моем eclipse.ini, чтобы он указывал на Java5 JDK.