Hi Marvin, Mark,
There are a couple of things to know about running Java standard extensions,
like Java 3D, with Java Plug-in.
> In the Java3D case I installed the four Java3D jars in
> 'c:\Program Files\JavaSoft\Jre\1.2\lib\ext' - this should
> make them accessible by the default classloader according to
> the extensions mechanism.
The most important thing to know is that there is a bug in the classloader
of the current Windows Java Plug-in release, whereby the plug-in classloader
looks for files in lib instead of lib\ext. So the solution is to copy (not move)
the four Java 3D .jar files from lib\ext to lib in the Plug-in VM. You do not
need to set your classpath, or anything like that. This is all in the Java
3D README (albeit a bit buried). This classloader bug is fixed in the next
Java 2, Standard Edition release. This bug has also caused some folks trouble
with the VRML release.
The other thing to know, which I think you already know, but I will state
for the benefit of the list, is that it takes special HTML to invoke the
Java Plug-in from a browser. You can download something called the
"Java Plug-in 1.2 HTML Converter", and this will convert your HTML files
for you. It is very easy to use; you just give it the HTML file that
works with appletviewer, and it spits out a new version that will work
with Netscape, IE, or appletviewer. Be sure and use the 1.2 version.
The Java Plug-in 1.2 HTML Converter, and the Java Plug-in 1.2, are available at:
http://java.sun.com/products/plugin/index.html
The reason you need to modify your HTML is because the Java Plug-in does
not become the default VM for your browser. It is only invoked when the
client clicks on the HTML file that you generated, which tells it to use
the Plug-in VM instead of the default browser VM.
I should mention that when you installed your Windows JDK, chances are you
installed the Java Plug-in, also (it's bundled), although you are given an
option at install time not to install it. If you are using Windows, you can
see if it's there by checking to see if there is something at (or near, if you
did a non-default target installation):
c:\Program Files\JavaSoft\Jre\1.2
BTW, your Java 3D applets do not necessarily have to be signed to run in a
browser. They do need to be signed when you are doing things like file
access using the java.io libraries or trying to perform a network access from
your applet anywhere except back to the server from which the applet originated.
I would suggest getting something simple like the HelloUniverse or SphereMotion
Java 3D examples running in your browser first; neither of these need signing.
The Java 3D installation itself is automatically trusted because it is
pre-installed, as is true for any standard extension. So any basic Java 3D
applet can run without digitally signing anything.
Hope this helps.
Travis Bryson
Sun Microsystems
ps: The Java Plug-in, version 1.2, for Solaris/Netscape is not yet available, but
will be soon. It will use the production release of Java 2, Standard Edition.
>Martin,
>
>I sent several questions/observations to the plug-in
>group. If/when I get a useful response I'll post it.
>Here is a rather long-winded summary of what I have
>found. (sorry for the length)
>
>I have been able to run applets, but only by explicitly
>adding the plug-in extensions jar-files to my CLASSPATH,
>not a very elegant solution compared to the rather elegant
>'extensions mechanism' of Jdk1.2. My impression is that
>the extensions mechanism is not working. I hope I am wrong.
>
>I am running Windoze95, jdk1.2, Netscape4.05 and Java3D
>1.1.1 for OpenGL. As you have found also, I have had no
>trouble converting html-files to use the plug-in 1.2. I have had
>problems getting the extension mechanism to work - in this
>case, getting the default classloader to look for classes in the
>'ext' directory of 'Jre/1.2' of the plug-in path. In the Java3D
>case I installed the four Java3D jars in
>'c:\Program Files\JavaSoft\Jre\1.2\lib\ext' - this should
>make them accessible by the default classloader according to
>the extensions mechanism.
>I tried three settings for the plug-in control panel 'advanced'
>features. One was 'default' and the other was
>'C:\Program Files\JavaSoft\Jre\1.2', and the third was for the
>jdk JRE directory. These all resulted in 'Class
>Not Found' errors - thus, the default classloader does not seem
>to know to look in the extensions directory.
>
>I found a few references to this question in the Java3D FAQ.
>The main point made was changing the advanced panel in the
>plug-in control panel. There was also a reference to needing to
>sign jar files, but I don't think that should be needed given that
>I have read that native code classes can be loaded if they are
>placed in the 'ext' subdirectory of the JRE/lib of the plug-in.
>In any case, as I mentioned, the panel changes didn't help me.
>
>I found this passage in the Plug-in FAQ, but I had no luck in
>realizing it:
>
> Q: We are trying to use Java 3D with Java Plug-in, but it doesn't
>work at all. Why?
>
> A: Java 3D comes with various packages. Installing it
>incorrectly may inadvertently disable Java
> Plug-in or cause it to fail. Follow these general
>instructions for using Java 3D and Java Plug-in:
>
> 1.Install Java Plug-in first.
> 2.Install Java 3D in a new directory. Do not
>install it over the existing JDK/JRE.
> 3.In the Java Plug-in control panel, switch the JRE
>to the one that came with Java 3D.
> 4.Download the HTML Converter 1.2 and convert the
>Java 3D demo pages.
>
> The Java 3D demos should now run within Java Plug-in.
>
>
>
>As I said, I did this, but only got applets running by an explicit
>addition of the extensions directory jar-files to my CLASSPATH,
>thus, not using the elegant solution of the plug-in extensions mechanism.
>
>I would also be interested in knowing if anyone has been successful
>in using *only* the presence of the J3D jar files in the plug-in extensions
>directory to run J3D applets. (ie. no explicit addition to the CLASSPATH)
>
>Best wishes,
>
>Mark
>
>---------------------------------------------
>Marvin Chase wrote:
>
>> I'm using Java 2 with Java3D1.1, The Java Plug-in and The Java HTML
>> Converter. My Java 2 JRE is installed to E:\Program Files\JavaSoft... I
>> wrote a 3D app that I want to run in a browser. I converted the html
>> display page with the Converter, but I have no success running the app.
>> I've tried the Java Plug-in examples online and they work fine, but I cant
>> get anything to run from my hard disk. The 2D demos that come with the kit
>> don't display in my browser (IE5) either despite The Java Plug-in. I am
>> only able to display them using appletviewer. Can anyone help? Thanks for
>> any suggestions..
>>
>> ICQ: 8647690
>>
>> =====================================================================
>> To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
>> Java 3D Home Page: http://java.sun.com/products/java-media/3D/
>
>
>
>=====================================================================
>To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
>Java 3D Home Page: http://java.sun.com/products/java-media/3D/
=====================================================================
To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
Java 3D Home Page: http://java.sun.com/products/java-media/3D/