3

Java アプリケーションを実行しようとすると、次のエラー メッセージが表示されます。アプリケーション自体は正しく読み込まれますが、特定の部分が失敗しているように見えます。

Nov 13, 2012 2:43:53 PM org.jdesktop.application.Task failed
SEVERE: My.Application$9@7c4f8358 failed: java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser
java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser
at jpl.mipl.jade.jadis.agile2d.swing.JOGLPluggableRenderer.notifyBeforeSetRootPane(JOGLPluggableRenderer.java:105)
at jpl.mipl.jade.jadis.StereoJFrame.setRootPane(StereoJFrame.java:264)
at javax.swing.JFrame.frameInit(JFrame.java:236)
at javax.swing.JFrame.<init>(JFrame.java:159)
at jpl.mipl.jade.jadis.StereoJFrame.<init>(StereoJFrame.java:172)
at StereoWS.DSStereoFrame.<init>(DSStereoFrame.java:70)
at StereoWS.StereoWSView$9.doInBackground(StereoWSView.java:1067)
at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLCapabilitiesChooser
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14 more

私は完全に更新された OS X 10.8 を実行しており、JDK 7 をインストールしました。また、イライラして、Apple の Java 開発ツールもインストールしました。このプログラムは多くの外部ライブラリに依存していますが、これらは jar に付属しており、プログラムが実行時に実際に配布ディレクトリでそれらを検索すると信じています (ただし、エラーはこれらのパッケージが原因ではないと思います)。 . 私が知る限り、アプリケーションを実行するために必要なすべてが既にインストールされているか、jar がそれを見つけることができる場所のいずれかです

まだ行っていない環境をセットアップするために他に何かする必要があるかどうかわからないので、誰かが何かを提案できるなら、私はすべて耳にします! 必要な追加情報を提供しますが、何が役立つかわかりません。私は決して Java の第一人者ではありません。

4

1 に答える 1

8

古いOracleサイトのJava3Djarを最新のJogAmpJOGLv2と組み合わせて使用​​していると思いますが、これは2つの理由で機能しません。A)jogl.jarの名前がjogl-all.jarに変更されました。B)内部名前空間の変更。すべてcom。 sun。*クラスがcom.jogamp。*の下にあるようになりました。これにより、com.sun。*名前空間を想定している古いJava3Dコードが混乱します。

JOGLとJava3Dの両方がJogAmpコミュニティのメンバーによって維持されるようになりました:移動の背景: http: //labb.zafena.se/ ?p = 656 今日Java3Dを使用する唯一のサポートされている方法は、コミュニティで維持されるJava3Dを組み合わせて使用​​することです。最新のJogAmpJOGLv2を使用します。

JOGLv2と組み合わせてJava3Dを維持する最新のコミュニティをセットアップする方法に関するチュートリアル。Julien Gouesse:Java 3D est de retour[Java3Dが復活しました] http://gouessej.wordpress.com/2012/08/01/java-3d-est-de-retour-java-3d-is-back/

于 2012-11-13T21:59:10.730 に答える