12

IDE 環境で動作するように java3D を構成する際に問題が発生しました...

j3d-1_5_2-linux-i586.zip をダウンロードし、j3dcore.jar、j3dutils.jar、vecmath.jar、libj3dcore-ogl.so、libj3dcore-ogl-cg.so を解凍し、それらをすべて「参照ライブラリ」として追加しました私のプロジェクトフォルダ。これにより、取得していたコンパイル警告はすべてなくなりますが、アプリケーションをコンパイルして実行すると、次の例外が発生します!

Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
    at java.lang.Runtime.loadLibrary0(Runtime.java:840)
    at java.lang.System.loadLibrary(System.java:1047)
    at javax.media.j3d.NativePipeline$1.run(NativePipeline.java:231)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:200)
    at javax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:157)
    at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:987)
    at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:299)
    at Hello3d.<init>(Hello3d.java:10)
    at Hello3d.main(Hello3d.java:18)

ここでもソースコードを簡単に見てみましょう。注: Eclipse は、参照ライブラリとして追加されると、インポート ライブラリ パスを Ctrl+Shift+O で自動的に取り込みます。

import javax.media.j3d.BranchGroup;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;

public class Hello3d {

    public Hello3d(){
        SimpleUniverse universe = new SimpleUniverse();
        BranchGroup group = new BranchGroup();
        group.addChild(new ColorCube(0.3));
        universe.getViewingPlatform().setNominalViewingTransform();
        universe.addBranchGraph(group);
    }

    public static void main(String[] args){
        new Hello3d();
    }
}

「j3dcore-ogl」で何をするつもりだったのかわかりませんが、この時点で立ち往生しています。システム環境または IDE プロジェクト内に java3D をどのようにインストールしますか? 助けてください。

IDE: エクリプス SDK 3.5.2

JVM: java-6-sun-1.6.0.22

OS: Ubuntu 10.04 LTS

4

12 に答える 12

8

Javaは、Java3Dに付属しているシステムパスでネイティブライブラリ(* .soファイル)を見つけることができないため、不平を言っています。これをどのように修正するかはあなた次第です。次のいずれかを実行できます。

1)システムパスにJava3Dで提供される*.soファイルが含まれていることを確認してください

2)LD_LIBRARY_PATH環境変数を設定します。exportLD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ usr / lib / "path-to-java3d-libraries" /

3)javaの実行時にjava.library.pathを設定します。java-Djava.library.path = $ LD_LIBRARY_PATH:/ usr / lib / "path-to-java3d-libraries" /

正しく設定されていることを確認するには、Javaコードに以下を追加し、報告されたパスに共有ライブラリが含まれていることを確認してください

System.out.println("LD Library Path:" + System.getProperty("java.library.path"));
于 2010-11-15T19:06:20.583 に答える
1

与えられた回答への補足として、Java 3d を設定するのに役立ったのは、「C:\Program Files\Java\Java3D\1.5.X\bin\」からすべての .dll ファイルを「C:\Program Files\」にコピー アンド ペーストすることでした。 Java\jre6\bin\". したがって、Java3D を実際の jre6 (bin から bin へ) に変換します。

以前は、classpath/(パスも設定できます) を 3dcore.jar、j3dutils.jar、vecmath.jar、j3dcore-ogl.dll に設定しましたが、それでも機能しませんでした。

過去の j3dcore-ogl.dll をコピーし (上記を参照)、クラスパスを 3dcore.jar、j3dutils.jar、vecmath.jar (「C:\Program Files\Java\Java3D\1.5.X\ext\」内) に残した後、動作しました大丈夫。

ここでヘルプを見つけました: http://www.xinapse.com/Manual/install_windows.html ポイント 2 を見てください。

よろしくお願いします

于 2014-09-23T09:37:37.120 に答える
0

プロジェクト/プロパティ/Java ビルド パス/ソース タブ/展開してネイティブ ライブラリの場所を選択/i386 フォルダーに移動します。

于 2011-05-06T19:34:49.903 に答える
0

(Windows と同じ問題が解決されました)

"java.library.path" = PATH = C:\Program Files (x86)\Common Files\Oracle\Java\javapath\
(inside this folder: javaws.exe, javaw.exe,java.exe)

j3dcore-ogl.「dll」をこのフォルダにコピーして試してみてください。

于 2020-02-01T21:55:46.757 に答える
-1

私はこの正確な問題を抱えていました.私にとっての解決策(私はEclipseを使用しています)は、32ビット(i586)(https://java3d.java.net/binary-builds.htmlから)アーカイブをダウンロードし、それらのネイティブを使用することでした.

于 2015-10-31T03:25:06.157 に答える
-3

この問題がありました。

java3d プラグインをダウンロードしてインストールするだけで十分です。

Google 検索「java3d プラグイン」などの検索エンジンで

ダウンロードするのでインストールします。

于 2011-02-04T18:25:34.733 に答える