Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #8877

Re: Ubunto

From Tom Anderson <twic@urchin.earth.li>
Newsgroups comp.lang.java.programmer
Subject Re: Ubunto
Date 2011-10-17 00:31 +0100
Organization Stack Usenet News Service
Message-ID <alpine.DEB.2.00.1110162344190.27716@urchin.earth.li> (permalink)
References <op8e97ptf2knv5f325qb2vrkb6sph1nfh0@4ax.com> <alpine.DEB.2.00.1110141420290.15658@urchin.earth.li> <unpj975lsksrev5fibuepke9ar85vit9ia@4ax.com> <j7dagn$bgh$4@localhost.localdomain>

Show all headers | View raw


On Sun, 16 Oct 2011, Martin Gregorie wrote:

> On Sat, 15 Oct 2011 13:04:16 -0700, Roedy Green wrote:
>
>> On Fri, 14 Oct 2011 14:20:40 +0100, Tom Anderson <twic@urchin.earth.li>
>> wrote, quoted or indirectly quoted someone who said :
>>
>>> That Fedora is much better.
>>
>> In there anything you would want to tell programmers thinking of
>> developing Java on Fedora?
>> http://mindprod.com/jgloss/redhat.html is an entry a bit long in the
>> tooth.

Just a bit!

> It just works.

That is just about true, but i think it's glossing over some facts worth 
knowing.

I would identify the following points:

0. You should read:

http://fedoraproject.org/wiki/Java

> Out of the box the RedHat distros (RHEL - RedHat Enterprise Linux - and 
> Fedora) use OpenJava,

1. The default Java is OpenJava. I *think* a standard install does not 
include it, but it's easy enough to install. There is one package for the 
JRE (ie the 'java' program and supporting cast), called 
java-1.6.0-openjdk, and one for the rest of the JDK (ie the 'javac' 
program and supporting cast), called java-1.6.0-openjdk-devel. The javadoc 
is in a third package, java-1.6.0-openjdk-javadoc.

2. None of the above includes Derby, which is included in the Sun 
releases. That's a package simply called derby.

> though you can easily switch to Oracle/Sun Java by simply downloading 
> and installing it

5. This can be obtained in the usual place, and is an RPM file (there is 
also a 'compressed binary' - ignore that).

There is an important aside here for those not familiar with package 
management in Red Hat (or Linux generally). There are two distinct layers 
to package management. The lower layer is RPM - RPM files and the 'rpm' 
command, which is all about taking RPM files (which are bundles of files, 
like a fancy ZIP file) and unpacking them into the filesystem. If you give 
RPM a file for a package, it will do the unpacking, then remember that it 
did it, so it can delete the package, replace it with a new version, etc. 
The upper layer is YUM - repositories and the 'yum' command, which is all 
about dependencies and downloads. If you give YUM a package name, it will 
find and download the RPM for it, and also work out all the packages it 
depends on, and find download RPMs for those too, if necessary. It will 
then transactionally install all of them (or rather, ask RPM to do so). It 
will also know to check for updates to these packages.

The upshot of this is that if you install something from an RPM, then all 
you get is the installation. It is up to you to obtain the installer, 
install dependencies, install updates when they are released, and so on. 
Whereas if you install from YUM, the machine does all that for you. The 
critical bit there is updates: if a new bugfix release of a package is 
pushed out, an install from RPM does nothing at all, whereas an install 
from YUM will upgrade to it as a matter of routine. (I feel so sorry for 
users of operating systems where this is not the norm, such as Windows and 
most of OS X; Unix users get this wonderful up-to-dateness as standard)

And so:

6. OpenJDK is a YUM install and the Sun JDK is an RPM install. So, 
choosing Sun over OpenJDK means giving up painless automatic updates.

> and changing the default search path ($PATH) so that compilers, etc are 
> preferentially loaded from there rather than from OpenJava.

Whilst you can do this:

7. The right way to manage multiple installations of Java is through the 
standard 'alternatives' mechanism. See:

http://fedoraproject.org/wiki/Packaging:Alternatives
http://fedoraproject.org/wiki/Java#Java_Runtime_Environments_.28JRE.29
http://wiki.yyovkov.net/solutions:java:sunjavaonfedora

8. Being the 'default' Java means, amongst other things, that OpenJDK is a 
dependency of any package which uses Java. Hence, even if you install the 
Sun JDK, using YUM to install such a package will drag in OpenJDK - even 
though it won't actually be used! It's possible this won't happen if you 
have correctly used the alternatives mechanism, as above, but i can't 
guarantee it.

Oh, and:

9. I don't think any standard installation process sets the JAVA_HOME 
environment variable, so add an export for that to your .bashrc (and make 
sure your .bash_profile sources your .bashrc - or do something different 
if you prefer). This is not required, but i often come across bits of 
software (like JBoss) which either assume or are greatly comforted by its 
presence.

10. There are loads of Java libraries in the package repositories, all 
just a few effortless keystrokes away. However! I'm not sure i really 
recommend getting libraries this way. Although YUM makes getting libraries 
easy, it doesn't help you distribute code written against the libraries - 
unless your consumers are also running Fedora, you are going to have to 
take care of packaging the dependencies yourself. If you instead use 
something like Ivy to get your jars, you can somewhat reasonably just 
distribute your ivy.xml file, or if not, use Ivy to build a zip-of-jars to 
distribute.

11. There are quite a few Java applications in the package repositories, 
and these don't have the distribution problem of the libraries. I 
installed Ant, Ivy, and Groovy this way. I once installed IntelliJ IDEA 
(community edition) this way (modulo some manual bodging of broken 
dependencies). I once installed Eclipse this way, but that turned out to 
be a terrible idea, because it couldn't update itself (or install plugins, 
i think) without being run as root. Essentially, its own package 
management fought with YUM. Bad.

(getting increasingly random ...)

12. If you use Eclipse and eGit, and do access control by client key, and 
your key has a passphrase, and you generate or passphrase-protect this key 
on your shiny new Fedora box, then you will hit a bug where eGit's 
internal version of SSH cannot understand the key (it only understands 
3DES-encrypted keys; the current OpenSSH uses AES). You need to set the 
GIT_SSH environment variable to point to your ssh binary, ie to 
/usr/bin/ssh, to override the internal version. This is not really a 
Fedora-specific problem.

I'll stop now.

tom

-- 
Well, traditionally they are the main constituent of boobs. -- Andrzej
Rosa, on why lipids are popular

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Ubunto Roedy Green <see_website@mindprod.com.invalid> - 2011-10-13 10:44 -0700
  Re: Ubunto Robert Klemme <shortcutter@googlemail.com> - 2011-10-13 22:27 +0200
    Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-14 01:08 +0000
    Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-14 14:21 +0100
      Re: Ubunto B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m> - 2011-10-14 17:00 -0400
        Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-14 22:20 +0000
          Re: Ubunto B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m> - 2011-10-15 01:16 -0400
            Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-15 12:21 +0000
              Re: Ubunto B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m> - 2011-10-15 15:42 -0400
                Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-16 00:23 +0000
              Re: Ubuntu Roedy Green <see_website@mindprod.com.invalid> - 2011-10-15 13:01 -0700
                Re: Ubuntu Arne Vajhøj <arne@vajhoej.dk> - 2011-10-15 16:49 -0400
                Re: Ubuntu Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-16 00:57 +0000
                Re: Ubuntu Tom Anderson <twic@urchin.earth.li> - 2011-10-17 00:51 +0100
                Re: Ubuntu Arne Vajhøj <arne@vajhoej.dk> - 2011-10-16 22:12 -0400
                Re: Ubuntu Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-17 21:21 +0000
                Re: Ubuntu blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-18 14:50 +0000
                Re: Ubuntu Lew <lewbloch@gmail.com> - 2011-10-18 08:59 -0700
                Re: Ubuntu Robert Klemme <shortcutter@googlemail.com> - 2011-10-18 18:19 +0200
                Re: Ubuntu blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-18 17:43 +0000
                Re: Ubuntu Robert Klemme <shortcutter@googlemail.com> - 2011-10-18 22:18 +0200
                Re: Ubuntu blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-19 13:26 +0000
                Re: Ubuntu Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-19 00:18 +0000
                Re: Ubuntu blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-19 13:27 +0000
                Re: Ubuntu Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-19 19:39 +0000
                Re: Ubuntu blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-20 14:15 +0000
                Re: Ubuntu David Lamb <dalamb@cs.queensu.ca> - 2011-10-20 12:24 -0400
                Re: Ubuntu Tom Anderson <twic@urchin.earth.li> - 2011-10-20 20:53 +0100
                Re: Ubuntu blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-21 16:24 +0000
                Re: Ubuntu Tom Anderson <twic@urchin.earth.li> - 2011-10-22 20:38 +0100
                Re: Ubuntu blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-25 07:03 +0000
                Re: Ubuntu Eight of Seventeen <eights17@gmail.com> - 2011-10-25 23:23 -0700
                Re: Ubuntu blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-21 16:24 +0000
                Java 7 javadocs (was Re: Ubuntu) blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-10-20 14:16 +0000
                Re: Java 7 javadocs (was Re: Ubuntu) David Lamb <dalamb@cs.queensu.ca> - 2011-10-20 12:27 -0400
                Re: Ubuntu Tom Anderson <twic@urchin.earth.li> - 2011-10-20 20:53 +0100
                Re: Ubuntu Eight of Seventeen <eights17@gmail.com> - 2011-10-20 17:05 -0700
                Re: Ubuntu Tom Anderson <twic@urchin.earth.li> - 2011-10-17 00:32 +0100
            Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-15 15:06 +0100
              Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-15 15:59 +0000
                Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-15 17:15 +0100
                Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-15 16:48 +0000
                Re: Ubunto B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m> - 2011-10-15 15:45 -0400
                Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-16 00:17 +0000
                Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-16 23:40 +0100
                Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-16 23:50 +0000
              Re: Ubunto B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m> - 2011-10-15 15:46 -0400
                Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-16 23:44 +0100
                Re: Ubunto B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m> - 2011-10-16 20:41 -0400
                Re: Ubunto Lew <lewbloch@gmail.com> - 2011-10-16 17:48 -0700
                Re: Ubunto B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m> - 2011-10-16 20:59 -0400
    Re: Ubunto Stanimir Stamenkov <s7an10@netscape.net> - 2011-10-16 11:39 +0300
      Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-16 11:22 +0000
        Re: Ubunto Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-10-16 10:58 -0300
      Re: Ubunto Dancing Fingers <batymahn@gmail.com> - 2011-10-21 01:51 -0700
  Re: Ubunto Arne Vajhøj <arne@vajhoej.dk> - 2011-10-13 22:54 -0400
  Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-14 14:20 +0100
    Re: Ubunto Roedy Green <see_website@mindprod.com.invalid> - 2011-10-15 13:04 -0700
      Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-16 01:03 +0000
        Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-17 00:31 +0100
          Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-17 00:29 +0000
            Re: Ubunto Arne Vajhøj <arne@vajhoej.dk> - 2011-10-16 22:03 -0400
              Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-17 15:08 +0100
              Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-17 21:29 +0000
            Re: Ubunto Tom Anderson <twic@urchin.earth.li> - 2011-10-17 16:47 +0100
          Re: Ubunto B1ll Gat3s <wm.g4t3s@m1cr0s0f7.c0m> - 2011-10-16 20:55 -0400
            Re: Ubunto Martin Gregorie <martin@address-in-sig.invalid> - 2011-10-17 21:37 +0000
          Re: Ubunto Arne Vajhøj <arne@vajhoej.dk> - 2011-10-16 22:14 -0400

csiph-web