ICS/Lotus (mostly), Linux, Travel, Skiing, Mixology, and Random Musing of Interest

 
Bill Malchisky
 

Archives

    Find me here…

  • Skype
  • Bleedyellow via Sametime
  • LMC Corner -- Ensuring You Are Using The Right Java Build

    Bill Malchisky  October 5 2012 02:00:00 AM
    To determine if IBM Java is installed on our machine, type:
    #rpm -qa |grep IBM


    Then, find the subdirectory for the java executable $ls /opt/
    You'll see IBMJava2.... (the rest is version specific e.g.: IBMJava2-1.4.2)
    $ls /opt/IBM [tab][tab] ; [tab]jre/[tab][tab]bin/java

    Record this path for use below.

    Notations
    A.  You are probably wondering why I prefaced the "ls /opt" command with the RPM sequence? Simply put, just because a product exists on one's server, does not necessarily indicate that it is installed and therefore recognized properly by the system.
    B. The [tab][tab] sequence denotes file completion assistance to save you time, the characters on the command line do not change with this feature
    C. Although it is installed by default, you do not have the IBM JVM installed, then you need to install it first to have the LMC software work properly; see the installation files for the package

    Yes, upon installing the IBM JRE, you need to do a verification test to ensure that everything is working properly.
    1. #java -version
    If you see
    "gij (GNU libgcj) ..."
    "gcj ... "

    these are the default installed Java versions with Red Hat. Thus, they are (a) potentially older; (b) not the installed IBM version that the LMC is compiled against during the build.

    2. If you see
    Java(TM) 2 Runtime Environment, Standard Edition (Build 1.4.2)
    Classic VM (build 2.4.2), J2RE 1.4.2 IBM build cxia...


    Then you have the correct working Java version for the LMC.


    To fix issues with (1) above, there are two ways to resolve the matter

    1. Redirecting the executable
    #which java
    /usr/bin/java

    Verify where the Java executable is pointing:
    #ls -l /usr/bin/java
    /usr/bin/java -> /etc/alternatives/java

    If it is not pointing to IBM (it won't be if you are here, unless you have a heavily customized Red Hat box);
    #rm /usr/bin/java (or mv if you prefer)
    Syntax: #ln -s
    Example: #ln -s /opt/IBMJava2-142/jre/bin/java /usr/bin/java
    #ls -l /usr/bin/java

    Verify that you see: /usr/bin/java -> /opt/IBMJava2-142/jre/bin/java
    #which java
    #java -version

    If you see IBM listed now, you are all set


    2. Altering the path - a bit more complex, so unless you are comfortable editing a text file, just do the first one
    $ls /opt/IBMJava2-142/jre/bin/java
    (see if it exists; change for the version if it is no 1.4.2
    #vi /etc/profile
    /PATH
    proceed till you find the last entry and append the path to the IBM Java path (from the the "To determine if IBM Java is installed..." section
    Save your file and run the #java -version command again to ensure success.

     
    Note: solution one is the preferred approach and should be used, unless you have a need to run multiple JVMs in production, which is why the alternate solution is provided; though one should be mindful of the scope issue with the path, as the first match that the IBM Java request finds is the one that will execute.
    Comments

    1Stephan H. Wissel  10/5/2012 10:06:46 PM  LMC Corner -- Ensuring You Are Using The Right Java Build

    In the Ubuntu world you would type:

    sudo update-alternatives --config java

    It lists all known Java installations and you can pick which one is active. Is there a similar command in the Redhat/Suse (or whatever rpm based distro you use)?

    2Bill Malchisky  3/27/2013 7:34:34 AM  LMC Corner -- Ensuring You Are Using The Right Java Build

    Hi Stephen... yes, there is an equivalent command and you are correct that Linux along with UNIX has the capability to allow administrators several different ways to do things. I wanted to keep the article at a level for the audience here who is trying out Linux with a new product and thus keep things easy for them. The issue with the command for beginners or people who use it less than they realize is that there are three separate places where they would need to be exercise the config Java command. If they don't come back to the box for an extended period of time, most likely they will forget that additional commands and cause consistency errors across Java versions -- perhaps even get turned off to Linux as a result (due to it being too complex, which it's not). Senior admins would have no issue with running the option and have no problem recommending it if asked.

    Hope this helps. Thanks for the comment and great meeting you at IBM Connect in January.

    Powered by IBM Lotus Domino 8 | Lotus User Group | Get Firefox! | This blog is listed on Planet Lotus   IBM Certified

    © 2010 William Malchisky.