Java3d V1.7.1, ClassNotFoundException outside of Eclipse IDE
Hello all, I have a problem to use the new V1.7.1 Java3d outside of the eclipse;
Up to now I used Java3d V1.5.2, three jar files and four native .dll within an OSGI plugins; was fine!
Intel and NVIDIA worked well but ATI wont render 3d objects;
Then I changed the Java3d to the newest version (1.7.1) inclusive Jogamp V2.3.2; when I start the whole product from Eclipse IDE it works fine;
But, when I export only the corresponding plugin as a jar file and replace it in the Product installation, I get ClaasNotFoundException "java.lang.ClassNotFoundException: org.jogamp.java3d.Node cannot be found by..."
The same with the Java3d V1.7.0; it seems to be, that something with classpath is wrong;
As if the j3dcore.jar is not in the classpath, but it is there!
I use j3dcore,jar, j3dutils,jar, vecmath.jar, gluegen-rt.jar, jogl-all.jar and corresponding windows-i586 native dlls.
These files are in the plugin and not in the "jre/lib/ext"
this MANIFEST file is in the created plugin available too.
With Bundle-ClassPath is the classpath defined and with Bundle-Nativcode is the destinnation for nativ .dll defined;
With this settings I can perform the functionality started in eclipse, works fine;
-> the build path (for compilation) is correct, no errors
-> the runtime execution (classpath) is correct too
I do not use gluegen-rt-natives-windows-i586.jar and jogl-all-natives-windows-i586.jar I do not use the sources ZIP files, also no references to it
And no references to natives libraries e.g. gluegen-rt.jar has no reference to native source location
Maybe the problem is not in Java3d at all but in Eclipse or in the OSGI or I dont know.
I'm looking for an alternative posibility to build my plugin, with Command Line, Ant or MAVEN.
Re: Java3d V1.7.1, ClassNotFoundException outside of Eclipse IDE
The problem is solved and it was NOT Java3d!
I'll try to describe it.
We have a product, comprises of many plugins (jar files); I'm responsible just for one, with Java3d.
The first run of installed product writed down a file
This file contains the whole information about all paths, classpath, native libray path and much more.
And when I changed some paths in my plugin (I did this to change from Java3d_152 to Java3d_171), then built plugin, replaced plugin in the product and then run the product, the tool used paths not from new plugin but from
This explained my ClassDefNotFoundException;
before plugin replacement helped me to solve this problem;
Conclusion: OSGI-Behaviour! May be someone knows, how to change this behaviour e.g. with a flag, but this is a not a Java3d topic!