Request for help: OpenJDK6 IcedTea Java plugin

Beat Gaetzi beat at FreeBSD.org
Thu Sep 9 16:40:57 UTC 2010


Hi,

Due to a lot of user request I've started working on a port for the
OpenJDK6 IcedTea Java plugin which works with Firefox 3.6. As I never
used the Java plugin and I'm not very experienced in the Java world I
need some help.

Some parts of the port are taken from java/openjdk6 and pkgsrc. The shar
file of the current port is available here:
http://people.freebsd.org/~beat/patches/icedtea6-plugin.shar

I've tested the port on FreeBSD 8.1 amd64 and i386. The plugin was
recognized after creating a symlink in ~/.mozilla/plugins/:
# ln -s /usr/local/lib/netscape/plugins/IcedTeaPlugin.so ~/.mozilla/plugins/

Screenshot of about:plugins in Firefox 3.6:
http://tmp.chruetertee.ch/firefox-icedtea.png

When I tried to watch a Java applet the browser crashed:

Exception in thread "main" java.lang.IllegalAccessError: tried to access
class sun.applet.AppletMessageHandler from class
sun.applet.PluginAppletViewer
        at
sun.applet.PluginAppletViewer.<clinit>(PluginAppletViewer.java:2163)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at java.lang.Class.newInstance0(Class.java:372)
        at java.lang.Class.newInstance(Class.java:325)
        at
sun.applet.PluginStreamHandler.<init>(PluginStreamHandler.java:85)
        at sun.applet.PluginMain.connect(PluginMain.java:155)
        at sun.applet.PluginMain.<init>(PluginMain.java:137)
        at sun.applet.PluginMain.main(PluginMain.java:116)

So I copied the content of
www/icedtea6-plugin/work/icedtea6-1.8/liveconnect to
/usr/local/lib/netscape/plugins/ (This step isn't done by the port yet
as I don't know if this is the correct location) set the CLASSPATH
environment variable but it crashed again:

# mv /usr/ports/www/icedtea6-plugin/work/icedtea6-1.8/liveconnect/*
/usr/local/lib/netscape/plugins/
# setenv CLASSPATH /usr/local/lib/netscape/plugins/
# firefox3
openjdk version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b20)
OpenJDK Client VM (build 17.0-b16, mixed mode)
Exception in thread "main" java.lang.IllegalAccessError: tried to access
class sun.applet.AppletMessageHandler from class
sun.applet.PluginAppletViewer
        at
sun.applet.PluginAppletViewer.<clinit>(PluginAppletViewer.java:2163)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at java.lang.Class.newInstance0(Class.java:372)
        at java.lang.Class.newInstance(Class.java:325)
        at
sun.applet.PluginStreamHandler.<init>(PluginStreamHandler.java:85)
        at sun.applet.PluginMain.connect(PluginMain.java:155)
        at sun.applet.PluginMain.<init>(PluginMain.java:137)
        at sun.applet.PluginMain.main(PluginMain.java:116)

Does anyone knows how to fix this problem?

There are also some parts (marked with a comment) in the port makefile
which needs some review or improvement.

Thanks,
Beat


More information about the freebsd-gecko mailing list