[Megoldva] Netbeans vs. Java 3D

Fórumok

Nagyon együgyű a gondom:

* Ubuntu 9.04, Netbeans 6.5
* http://java.sun.com/javase/technologies/desktop/java3d/ oldalról letöltöm a megfelelő ZIP-et, kicsomagolom.
* http://www.java2s.com/Code/Java/3D/Java3DandtheUserInterface.htm oldal példakódját bepötyögöm.
* a j3dcore.jar, j3dutils.jar, vecmath.jar lib-eket a Netbeans-ben a projekthez hozzáadom.

futtatás során a következő hibaüzenetet kapom:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1698)

Guglizás, és a következő 2 állomány projekthez adása lenne elvileg a célravezető:

libj3dcore-ogl.so
libj3dcore-ogl-cg.so

Na de a Netbeans-ben csak mappát és JAR állományt lehet a projekthez hozzáadni, ezeket az .so-kat sehogy nem bírom.

Ehh, biztosan én rontok el valamit. Valaki fel tudna világosítani, hogy kell ezt az egészet üzembe helyezni?

Előre is köszönöm (így hajnali 2-kor kicsit borúsan látom a jövőt :-| )

Üdv, Cözi

Hozzászólások

Ezek a *.so-k benne vannak a letöltött zip-ben (de fennt van a telepítő bin fájl is). Most idézek a zip-ben lévő README-unzip.html-ből:

# Download and unzip j3d-1_5_2-XXX.zip into a temporary download directory, for example, /tmp. This will create a j3d-1_5_2-XXX subdirectory in /tmp where the downloaded files can be found. The file you need for manual installation is j3d-jre.zip.

# Create a folder for the j3d jar files and native libraries, for example, /myhome/j3d, and unzip j3d-jre.zip into this directory as follows:

cd /myhome/j3d
unzip /tmp/j3d-1_5_2-*/j3d-jre.zip

# Modify your CLASSPATH environment variable to include the full paths to j3dcore.jar, j3dutils.jar, and vecmath.jar. For example:

export CLASSPATH=.:/myhome/j3d/lib/ext/j3dcore.jar:/myhome/j3d/lib/ext/j3dutils.jar:/myhome/j3d/lib/ext/vecmath.jar

# Modify your LD_LIBRARY_PATH environment variable to contain the full path to the lib/ directory. For example, on 32-bit Linux:

export LD_LIBRARY_PATH=/myhome/j3d/lib/i386

A megoldás a végén: a *.so fájlokat ide kell pakolni, majd a PATH változóba exportálni, hogy elérje a rendszer.

Szerintem ennyi.

A *.so fajlok utvonalat _nem szabad_ PATH-ba tenni, a LD_LIBRARY_PATH pedig okorseg. A progi inditoscriptjebe kell a java.library.path rendszerbeallitast megejteni (lehet, h lehet dinamikusan is, ezt latjatok nem tudom).
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Igen, ezzel a leírással én is találkoztam! :-) Így állítottam be mindent, mégis a közölt hibaüzenetet dobta a Netbeans.

Esetleg lenne valaki, aki a saját rendszerén kísérletet tenne, és ha sikerül lelket verni a dologba, fölhomályosít, hogyan sikerült?

Lécciléccilécci :-)

Ehh, tapasztalat! Megvan a megoldás :-)

Tehát azt ugyan nem értem, hogy

System.setProperty("java.library.path", "../java3D/lib/i386");

alapján miért nem találta meg a két *.so állományt, de ha már ott jártam, akkor a

System.out.println(System.getProperty("java.library.path"));

sorral megnéztem, a rendszer mit gondol elérési útvonalnak. Végül az /usr/lib alá másoltam be a két állományt.

Öröm és boldogság :-)

Köszönöm mindenkinek a hozzászólásokat! :-)

Üdv, Cözi