How to install the latest version of Java 1.6 on Fedora 11 (also F10 should work) and CentOS.
For Java on Fedora, I rely on Paul Howarth excellent wiki entry regarding rebuild of Sun Java Package on Fedora Linux.
As a side note, OpenJDK is possibly the best thing that could happen to Java, but:
- as a developer, I need the target vm on my development environment
- as a user, a lot of applets have issues with the OpenJDK plugin
Unfortunately, Paul’s entry refers to version 7 of Java 6, while, at the time of this writing, Java has been updated to version 14. Furthermore, since release 12 of Java 6, a 64 bit version of the java plugin exists (which follows new plugin apis available from mozilla version 3 forward, by the way), so Paul’s notes regarding 64 bit plugin are not valid anymore.
Well, enough said. I just put up a new spec file to help any of you out there setting up the correct java version for your fedora. The thing is set for Fedora 11, but should work for version 10, too.
You can donwload the spec file here . Also download this xsl file and this one .
If you need to startup with rpm packaging (easier than what you would expect) see my previous post regarding packaging setup. You can skip the installation of development-tools, anyway.
After completing the initial steps, put the spec file above in the SPECS directory under rpmbuild in your home directory, and the xsl files in the SOURCES directory (still under rpmbuild).
Download Java (as of today, spec file is for version 6 update 14) 64 or 32 bit as needed. As I was saying, from version 12 forward there is the 64 bit plugin and Java Web Start. Choose the bin file, and download it in ~/rpmbuild/SOURCES.
In case you are wondering, the ~ symbol in Linux stands for “the user’s home directory“, so, if the username you adopted on Linux is “jsmith”, your user home directory will be “/home/jsmith“, and the above directory will be”/home/jsmith/rpmbuild/SOURCES” and the previous one will be “/home/jsmith/rpmbuild/SPECS“
Now insert the following commands:
cd rpmbuild/SPECS
rpmbuild -ba java-1.6.0-sun.spec
Take your time here (it takes a bit to unpack and repackage all). After a while, if all is OK, the command prompt will be back and you will find some files in the RPMS and SRPMS directories.
Depending on your architecture, you will find a i586 (for Fedora 11) or X86_64 directory with rpms in it. To have the Java runtime environment, just do:
sudo yum localinstall java-1.6.0-sun{,-alsa,-fonts,-plugin}-1.6.0*.rpm –nogpgcheck
answer y(es) and go ahead. But now the default Java will still be set to OpenJDK (if installed) the gcj. Just do
sudo alternatives –config java
There are 3 programs which provide ‘java’.
Selection Command
———————————————–
* 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
2 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
+ 3 /usr/lib/jvm/jre-1.6.0-sun/bin/java
Enter to keep the current selection[+], or type selection number:
In this case, selecting 3 you would select the sun java runtime we just installed.
As an additional benefit, an entry in the administration menu of Gnome (do not know about KDE) will be present to set all things related to Java. Also the Java Web Start should work. You can try with (ex)TrollTech’s Qt Jambi Demo Page or at Sun’s Java Web Start Demo Page.
I hope all this becomes obsolete quickly – it looks like in b16 of the OpenJDK the plugin source code is included, so we should see it appear in the Fedora infrastructure for F12.
Update Fabio comments that KDE menu entries work correctly, too. Also, to have the development environment you have to:
sudo yum localinstall java-1.6.0-sun{,-demo,-devel,-src,-jdbc}-1.6.0*.rpm –nogpgcheck
to install compilers, profiler, and all of the JDK elements.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported.
This post is also available in: Italian
Nice article…
Luca
Sometime I checked jpackage mailing list to find update spec file for the latest jdk but with no luck..
With your spec and with your excellent instructions worked perfectly on my F11 x86_64! Menu entries works also on kde.
You could add to your instruction that In order to install also jdk (javac,…) you need to run yum localinstall java-1.6.0-sun{,-demo,-devel,-src,-jdbc}-1.6.0*.rpm –nogpgcheck. Otherwise you will only install jre
Just two little enhancement:
1) you can add also jvisualvm as a slave link for javac.
2) After rpm installation I’ve three wrong link under /etc/alternatives:kinit.1.gz -> /usr/share/man/man1/kinit-java-1.6.0-sun.1.gz
klist.1.gz -> /usr/share/man/man1/klist-java-1.6.0-sun.1.gz
ktab.1.gz -> /usr/share/man/man1/ktab-java-1.6.0-sun.1.gz
But I don’t know if these links comes from your rpm or from a previous jdk installation..
I will – stay tuned for updates to package
They do not come from my specfile. I will double-check anyway
For what it’s worth, I’ve now updated my original article to cover Update 15 and the 64-bit browser plugin.
Thanks for the nice comments!
Cheers, Paul.
[...] package (check for update 15) and download the spec file from here . Follow the instructions from previous post and all should be [...]
You need to execute this too:
$ sudo alternatives –config java
$ sudo alternatives –config javac
$ sudo alternatives –config java_sdk_1.6.0
Jesus Christ, when is the Linux world going to get its act together? Getting ANYTHING to work is like pulling teeth. No wonder people give up and use ASP.