Ошибка версии класса Eclipse

В eclipse 3.4 я пытаюсь провести несколько тестов производительности для большого продукта, одна из включенных библиотек - это vecmath.jar (пакет javax.vecmath) из проекта Java3D. Все работало нормально, и тогда, когда я пытался запустить его вчера, я получаю это исключение / ошибку вскоре после запуска:

java.lang.UnsupportedClassVersionError: javax/vecmath/Point2f (Unsupported major.minor version 49.0)

То, что я считаю, означает, что я пытаюсь загрузить файл класса java 1.5 в 1.4 jvm, который не поддерживается. Однако когда я пошел в файл класса, чтобы проверить это, я увидел это в средстве просмотра файлов классов eclipse:

Compiled from Point2f.java (version 1.2 : 46.0, super bit)

Таким образом, загрузчик классов говорит, что это версия 49.0, а файл класса - 46.0. Я попытался очистить и полностью перестроить проект, я подтвердил, что версия компилятора для проекта - 1.4, JRE - 1.4, а для конфигурации запуска выбрана 1.4 jvm. Я полностью застрял в этом, кто-нибудь есть какие-либо идеи, что может быть причиной этого?

Спасибо

=== РЕДАКТИРОВАТЬ ===

Оказывается, версия java3d, которая была несовместима с java 1.4.2, была установлена ​​в C:\Program Files\java\j2re1.4.2_18\lib\ext. Я установил более новую версию Java3D, чтобы поиграться в java6, и я полагаю, что он установил libs во все мои JRE, даже те, которые были несовместимы.

4 ответа

Решение

Может ли быть еще один javax.vecmath.Point2f на вашем пути к классам?

Я считаю, что JRE 1.5 требуется для последней версии Java3D.

Вы должны добавить

  1. "java_home: C: \ Program Files \ Java \ jdk1.6.0_16"
  2. "путь: C:\Program Files\Java\jdk1.6.0_16\bin;"

в ваши переменные среды!

Вы проверили:

Window
    -> Preferences
        -> Java
            -> Compiler
                -> Compiler Compliance Level

Чтобы увидеть, является ли это значение винт?

Другие вопросы по тегам