|
|
Installing Java on Debian Testing
I used to have Sun's J2SE environment under the Redhat version
of Linux. Shortly after migrating to Debian, I had investigated
the installation of Java. However, it seemed that the Debian had
licensing problems with Sun's Java platform, so I didn't pursue
it further.
Later, the absence of JVM support in Mozilla was making it a
little difficult to check that my web-site's applets were
working. I therefore re-opened the investigation into Java
support on Debian. With a little more time to spend I read
further into the Debian Java FAQ. I discovered that this FAQ
contains a very useful description of how to get the Sun J2SE
environment working under Debian (and specifically of interest
to me, Debian Testing). What follows is therefore more-or-less
a duplication of the relevant
sections of the FAQ, supplemented by content from a page
submitted by Brandon Phillips on Open
Source Lab's wiki, documentation, and knowledge site, but
placed here for my handy reference...
Here's the steps the install Sun J2SE on Debian Testing:
-
Download the J2SE (and documentation) from Oracle
(nee Sun), into a convenient location
(e.g. /var/install/java). At the time of writing,
the latest version is 1.4.2_04. The J2SE installer is run as
a shell script, so you can run it by:
cd /var/install/java
sh ./j2sdk-1_4_2_04-linux-i586.bin
This will create a new directory j2sdk-1_4_2_04 under
the /var/install/java directory.
-
Move the newly created j2sdk-1_4_2_04 directory to
/usr/local/lib and create a link. (You need to be
root to do this).
mv /var/install/java/j2sdk-1_4_2_04 /usr/local/lib
ln -s /usr/local/lib/j2sdk-1_4_2_04 /usr/local/lib/jdk
chown -R root:src /usr/local/lib/jdk # necessary?
The creation of the link is not necessary, but it means you
can refer to /usr/local/lib/jdk always, and still
continue to upgrade to new versions.
-
So far, nothing new here. This is where the Debian bit really
starts. First, the following Debian packages need to be
installed. This is really to provide us with the dummy
package control files, and the equivs facility, needed in the
next step. Note we install kaffe at this point as well.
apt-get install kaffe equivs java-common java2-common
This step will cause the installation of the kaffe Java
platform, the Debian default.
-
Since Debian does not have installer packages for Sun's J2SE,
a dummy package needs to be made to let Debian know that a
J2SE is installed. This is done as follows. Use the 'dummy'
package control files provided by java-common to satisfy
dependencies.
mkdir -p /var/install/java/pkg
cd /var/install/java/pkg
cp /usr/share/doc/java-common/dummy-packages/*.control .
equivs-build java-compiler-dummy.control
equivs-build java-virtual-machine-dummy.control
equivs-build java1-runtime-dummy.control
equivs-build java2-compiler-dummy.control
equivs-build java2-runtime-dummy.control
You should now have five packages in
/var/install/java/pkg that should be installed.
dpkg -i java-compiler-dummy_1.0_all.deb
dpkg -i java-virtual-machine-dummy_1.0_all.deb
dpkg -i java1-runtime-dummy_1.0_all.deb
dpkg -i java2-compiler-dummy_1.0_all.deb
dpkg -i java2-runtime-dummy_1.0_all.deb
-
Since Debian supports a multiplicity of Java platforms, the
update-alternatives technique is used to determine
which binaries should be invoked.
update-alternatives --install /usr/bin/javac javac \
/usr/local/lib/jdk/bin/javac 500
update-alternatives --install /usr/bin/java java \
/usr/local/sun/jdk1.X/bin/java 500
update-alternatives --install /usr/bin/appletviewer appletviewer \
/usr/local/lib/jdk/bin/appletviewer 500
These command set up the Sun binaries for javac, java and the
appletviewer. The use of the priority, 500, will ensure that
Sun binaries are used in preference to the kaffe binaries
installed as part of step 3.
-
Run java as root to allow the system preference
directories to be set up, and to check that the right version of java
is invoked.
java -version
-
Finally, to ensure Mozilla can use the JVM plugin, create
a link from the Mozilla plugin directory to the actual
location with the newly installed Sun Java directories.
ln -s \
/usr/local/lib/jdk/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so \
/usr/lib/mozilla/plugins/libjavaplugin_oji.so
|