2012-03-03 6 views
0

Я разрабатываю апплет Java, который показывает окно сообщения при посещении сайта. Это мой Java-код:Java Applet работает только на моем компьютере?

import java.applet.Applet; 
import javax.swing.JOptionPane; 
public class JavaRun extends Applet { 
    private static final long serialVersionUID = 1L; 
    public void init() 
    { 
     JOptionPane.showMessageDialog(null, "hello world!");  
    } 
} 

Это HTML:

<applet width='100' height='100' code='JavaRun' archive='data.jar'> 
</applet> 

На моем компьютере (то есть Java SDK), это работа, но когда я использую его на моем ноутбуке, что есть только стандартный Java, я получаю эти ошибки:

 
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) 
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Exception: java.lang.UnsupportedClassVersionError: Micro : Unsupported major.minor version 51.0... 
enter code here 
+0

Не используйте смесь компонентов Swing и AWT и не используйте AWT-компоненты в этом тысячелетии. Изменить 'extends Applet' на' extends JApplet'. –

ответ

3

UnsupportedClassVersionError: Micro : Unsupported major.minor version 51.0

Это проблема. Вы скомпилировали свой апплет с версией класса, которая не поддерживается JVM, которую вы используете в другой системе.

Используйте флагов -target для javac для создания файлов классов для данной целевой версии JVM.

5

Я считаю, что на компьютерах существуют разные версии Java-сред. Выполните эту команду на обоих компьютерах

java -version 

И сравните номера версий. Вероятно, необходимо запустить

javac -version 

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

+0

Спасибо! в моей машине разработки 1,7, а в моем ноутбуке 1,6 сейчас, как это изменить на моей машине разработки? – Ron

+0

Проверьте ответ Матта на флаг -target. Короче говоря, вы должны указать в своих настройках проекта целевую версию JVM. Например: 'javac -target 1.6 -source 1.6 MyApplet.java' – Martin

+0

Если вы используете Eclipse, проверьте этот вопрос SO: [Где вы настраиваете флаги компилятора Eclipse Java javac?] (Http://stackoverflow.com/questions/9483315/где-до-вы-Configure-затмение-Java-компилятор Javac-флаги) – Martin

3
UnsupportedClassVersionError 
  • Для компиляции кода для конкретной версии Java, используйте cross-compilation options. Для правильной работы потребуется rt.jar целевой версии (использовать опцию bootclasspathjavac).
  • Чтобы развернуть код, который требует определенной версии, используйте deployJava.js
  • Чтобы сохранить здравомыслие и обеспечить лучший пользовательский опыт, конвертировать апплет в приложение и запустить его с помощью ссылки Java Web Start.
Смежные вопросы