1

Mac コンピューターで Java プログラムをテストするときにのみ、ランタイム エラーが発生します。さまざまな Windows オペレーティング システムで完全に正常にテストされます。これは、Mac コンピューターで表示されるエラー メッセージです...

スレッド「AWT-EventQueue-0」での例外 java.lang.NoClassDefFoundError: project.MainPanel.calculateButtonActionPerformed(MainPanel.java:198) での javax/swing/GroupLayout$Group (project.MainPanel.access$200(MainPanel.java:32)) project.MainPanel$3.actionPerformed(MainPanel.java:97) で javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882) で javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202) で javax.swing .DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) で javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) で javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) で java.awt. javax.swing.JComponent.processMouseEvent(JComponent.java:3135) で java.awt.Component.processEvent(Component.java:5367) で java.awt.Container.processEvent(Container.java:2010) で java.awt.Component.dispatchEventImpl(Component.java:4068) で Java. awt.Container.dispatchEventImpl(Container.java:2068) で java.awt.Component.dispatchEvent(Component.java:3903) で java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256) で java.awt.LightweightDispatcher.processMouseEvent で(Container.java:3936) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866) で java.awt.Container.dispatchEventImpl(Container.java:2054) で java.awt.Window.dispatchEventImpl(Window.java: 1801) で java.awt.Component.dispatchEvent(Component.java:3903) で java.awt.EventQueue.dispatchEvent(EventQueue.java:463) で java.awt.EventDispatchThread で。java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) の pumpOneEventForHierarchy(EventDispatch! Thread.j ava:269) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184) の java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:176) で java.awt.EventDispatchThread.run(EventDispatchThread.java:110)\

なぜこれが起こっているのかわかりません。プログラムを Windows コンピュータでコンパイルしたことが問題なのでしょうか? それが私が考えることができた唯一のことです。

4

3 に答える 3

1

Javaバージョンを1.6以上にアップグレードする必要があります。まず、1.6がない場合は「java-version」と入力してターミナルでJavaバージョンを確認し、Spotlightに移動して、Javaを記述し、JavaPreferencesでJavaSE6をリストの一番上にドラッグアンドドロップします。そしてそれは行われました。終了して、それだけです。

于 2012-01-25T17:56:51.623 に答える
1

これをテストすることはできませんが、これは、これをコンパイルしたJavaバージョンがMacintoshで実行しているJavaバージョンよりも大きいためだと思います。

それぞれのバージョンをチェックし、MacOSで実行しているバージョンが同じかそれ以降であることを確認することをお勧めします。

または、javacの「-target」オプションを使用して古いバージョンを設定し、それが役立つかどうかを確認することもできます。

于 2009-12-01T05:41:27.400 に答える
1

OS X では、Java のデフォルト バージョンは Java 1.5 です。

適切な jvm を確保する唯一の良い方法は、Java Web Start を使用することです。

于 2009-12-01T08:15:09.743 に答える