2012-04-10 4 views
2

У меня есть вопрос относительно совместимости между различными версиями java.Java JRE версии incompatibilty

На моем компьютере у меня есть версия Java 1.7.0_02. Но когда я загрузил .class и заливали его на веб-странице не работает

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

«версия Неподдерживаемое MAJOR.MINOR 51,0»

заголовок в верхней части консоль говорит: "Java Plug-в 1.6.0_31 Использование JRE версии 1.6.0_31-b05 Java HotSpot (TM) Client VM"

Я хотел бы спросить, что является причиной проблемы. Это действительно моя версия java? Я имею в виду, я посетил сайт с компьютером, на котором я собрал апплет.

+1

может быть ваша версия JDK не равна в качестве JRE версии? –

+1

Плагин в вашем браузере не соответствует Java 1.7. Найдите (и удалите) JRE 1.6 на своем компьютере. – madth3

+0

Вы строите java 7 и пытаетесь запустить его на JRE, который знает только о java 6. – jahroy

ответ

3

Вы не можете использовать классы, скомпилированные в файлы классов совместимости Java 1.7 с более ранней виртуальной машиной, и что ошибка «Java Plug-in» вы видите, что это именно то, что происходит.

Два варианта:

  1. , если вы не используете Java 1.7 только функции, вы можете скомпилировать код, чтобы быть совместимым с 1,6 JVM с помощью параметра -target 1.6 (см here документы)
  2. Upgrade плагин Java, используемый вашим браузером, использует 1.7, если это возможно (я не думаю, что вы можете сделать это на OS X, например). Вы не заметили, какую ОС и браузер вы используете, поэтому я не уверен, каким будет путь обновления, если таковой имеется.
+0

* «может скомпилировать ваш код для совместимости с 1.6" * или 1.1. В конечном счете, очень мало новых классов, методов и атрибутов, подходящих для апплета, сделанного новичком, были внедрены на протяжении многих лет. Конечно, существуют языковые конструкции, такие как «для каждого» и «Дженерики», но обычно нетрудно перекодировать небольшое количество источников, чтобы они не нуждались в них. В стороне, я не думаю, что есть ссылка на него в индексе, но наиболее важная часть этого связанного документа напрямую связана с [параметрами кросс-компиляции] (http://docs.oracle.com/javase /7/docs/technotes/tools/windows/javac.html#crosscomp-options) –

+1

Также, как только вы определили минимальную версию, код будет запущен и скомпилирован с целевыми параметрами ** source & bootclasspath **, затем используйте 'deployJava.js', упомянутый в/связанном с [info. страница на апплетах] (http://stackoverflow.com/tags/applet/info), чтобы конечный пользователь имел минимальную версию, необходимую для запуска апплета, помогать им обновлять, если нет, а затем вставлять апплет. –

+1

@AndrewThompson Я обновил ссылку, спасибо. Хороший отзыв о deployJava.js тоже. – sharakan

1

Спасибо за ответы, я выяснил, что было не так.

Я начал с 1,7 и 1,6 на моей машине, и это меня действительно сбивало с толку. Проблема была в 1,7 была 64 бит, а 1,6 была 32 бит.

Мой браузер был хром 32 бит.

Я только что установил 1.7 32 бит, и это было прекрасно

+2

Если бы мой ответ помог решить вашу проблему, было бы неплохо, если бы вы приняли его! – sharakan

+0

Да, спасибо! –

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