1

今日、jzy3d について知りました。これは、現在の学校のプロジェクト (水理地質学に関連する 3D でサーフェスを描画すること) に必要なものとまったく同じように見えます。デモ(ver. 0.9.1)をダウンロードしましたが、それを実行しようとすると (より具体的には、このコードとして知られる 3D サーフェス デモ)、次のエラーが発生します。

 Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLProfile
at org.jzy3d.chart.Settings.<init>(Settings.java:19)
at org.jzy3d.chart.Settings.getInstance(Settings.java:48)
at org.jzy3d.chart.Chart.<init>(Chart.java:60)
at org.jzy3d.chart.Chart.<init>(Chart.java:44)
at TestGraph.getChart(TestGraph.java:36)
at TestGraph.main(TestGraph.java:42)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLProfile

at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more

インターネットで調べてみると、jzy3d が古いバージョンの JOGL を必要としていることが関係している可能性があるため、jogamp-windows-amd64.7z (2.0-rc3 アーカイブ...問題ないようです) をダウンロードしました。 com.jogamp.* の代わりに javax.media.* が含まれているためです)。Eclipseで.jarをインポートすることに関してはまったく新しいので、上記のファイルでこのパターンに従いました。私は今、jogl.all.jar と gluegen-rt.jar を含む OldJOGL という名前の Java プロジェクトを持っています。

次に、OldJOGL をすべての jzy3d (api、core など) プロジェクト (maven 経由でインポート) の必須プロジェクトとして追加し、OldJOGL + すべての jzy3d プロジェクトを「TestGraph」 (基本的にコピーした単一のクラスを含む) の必須プロジェクトとして追加しました。デモで与えられたコード)。それでも、同じエラー メッセージが表示されます。

私は何か間違ったことをしている可能性が高いので、私の質問: jzy3d で古い JOGL バージョンを使用するにはどうすればよいですか? (そして、それは本当の問題ですか?)

前もって感謝します

PS: 私の英語が時々ぎこちなくてすみません、それは私の母語ではありません :(

4

2 に答える 2

1

Martin Pernollet に連絡して、JOGL 2.3.2 をサポートするように Jzy3D を更新してもらう必要があります。彼がそれを行うのに十分な時間がない場合は、JogAmp フォーラムで私に連絡してください。プル リクエストを作成します。彼は JOGL 2.3.2 以降をサポートするバージョンを提供します。現在のソース コードが新しいバージョンの JOGL で動作しないことを確認しました: https://github.com/jzy3d/jzy3d-api/blob/master/jzy3d-api/src/api/org/jzy3d/chart/ Settings.java#L3

「javax.media」は JOGL に存在しなくなりました。

于 2015-11-30T22:31:05.740 に答える