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
- 2157 megtekintés
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 hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
+1
http://www.nabble.com/Finding-Native-JNI-Library-in-Netbeans-td16760154…
Masnak is van ezzel gondja:
http://forums.java.net/jive/message.jspa?messageID=220815
- A hozzászóláshoz be kell jelentkezni
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 :-)
- A hozzászóláshoz be kell jelentkezni
Ahogy en irtam, ugy mennie kell.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni