2011-01-31 4 views
0

Я ищу уточнения в версиях jdk.JDK версия проблема

Я получаю ошибку

java.lang.UnsupportedClassVersionError:Bad version number in .class file"

Я надеюсь, что эта ошибка для другой версии JDK. У меня есть myeclipse6.0.1 и weblogic10.3.

Теперь в моих системах есть jdk1.5, но weblogic имеет jdk1.6, а также myeclipse, поддерживающий только 1.5.

Я прочитал все форумы, и они сказали, что компиляция отличается от другой версии и работает с другой версией.

Итак, здесь я думал, что программа выполняет 1.5 и работает 1.6.

Верно ли это?

+0

Эта ошибка, возникающая при запуске проекта, успешно развертывалась. – rose

ответ

2

Это означает, что программа Java была скомпилирована для более новой версии Java, чем вы ее запускаете.

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

+1

По-видимому, можно получить компилятор Java 6 для генерации байт-кода для Java 5, но я никогда не смог заставить его работать правильно. В итоге оказалось проще получить компилятор Java 5. –

+0

Это конечно возможно. Но для надежной работы (1) вам нужно использовать опцию -bootclasspath для javac, для которой требуется rt.jar (а не JDK) целевой версии. (1) Также как указание -source/-target. –

+0

@britishmutt, возможно, но даже с правильными байтовыми кодами вы все еще компилируетесь против более новой версии библиотеки времени выполнения, и существуют тонкие различия. Для Хадсона мы используем компилятор Eclipse с муравейником под соответствующей JRE. –

Смежные вопросы