This is an example of Java-EAI in VRwave, done the "standard" way, i.e. to <EMBED> the VRML scene.
You can run it with VRwave or any other Java-EAI supporting browser, provided you have all properly set up. If it does not work for you, see the section below how your problem may be solved.
You must have the shared object file npvrwave.so in a directory searched by netscape. See the installation guide for the VRwave plug-in or file README of the netscape distribution for possible locations. Make sure to have a file of the proper machine architecture. In netscape, under Options|General Preferences, select Helpers and edit mime configurations for x-world/x-vrml and model/vrml. Select "VRwave Plugin wrapper" from the Plug-in option button.
If all went well, the plug-in should be listed in about:plugins (supposed you have enabled JavaScript, which is necessary to get this listing, but not to use Java-EAI with VRwave; also available in netscape Help menu). Make sure you do not have other binary files (especially no .o files used to build the .so file) in the plugin directories searched by netscape. In some cases it may be necessary to clear netscape's plugin cache files ~/.netscape/plugin*list.
Sorry, this is a "feature" of the current version. We may incorporate the method used by the XSwallow plugin in a future version to get a truly embedded plug-in. So why a plug-in then anyways? Because it's a standard, cross VRML-browser solution. See VRwave Java-EAI discussion.
Check your CLASSPATH
. It must contain the full path
and name of the zip file of the VRwave class package as well
as the path to the two files VRwavePlugin.class and VRwaveReader.class
distributed with the VRwave plugin. VRwave versions prior to 0.9 did
not support Java-EAI.
Make sure to have VRwave's classes loaded before any other browser's Java-EAI classes. The Java-EAI classes have a standardized interface, but the implementations for various Browsers (of course) differ, thus cannot be exchanged at runtime. You neither need to add netscape's Java classes to the CLASSPATH (done implicitly) nor JDK classes (netscape has its own Java VM).
VRwave native code is not compiled into the plug-in wrapper.
Instead it is supplied with a separate file called libgejc.so (do not
mix it up with npvrwave.so), which is loaded via Java's native method
interface. It must be found via environment variable
LD_LIBRARY_PATH
(or your system's equivalent, e.g.
SHLIB_PATH under HPUX).
created: Michael Pichler, Aug 12, 1997.
latest change: Michael Pichler, Sep 18, 1997.