Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems installing Java EE SDK on Linux

I installed the Java 6 JRE on my VPS just fine, but I can't get the EE SDK installation to even run.

root@vps [/usr/java]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)

However, when I try to run java_ee_sdk-6-unix.sh:

./  ../  java_ee_sdk-6-unix.sh*  jre1.6.0_18/  jre.bin*
root@vps [/usr/java]# ./java_ee_sdk-6-unix.sh

Could not locate a suitable jar utility.
Please ensure that you have Java 6 or newer installed on your system
and accessible in your PATH or by setting JAVA_HOME

But the catch is that I set my environment variables correctly:

root@vps [/usr/java]# echo $PATH
/usr/java/jre1.6.0_18:/usr/java/jre1.6.0_18/bin:/usr/java/jre1.6.0_18/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
root@vps [/usr/java]# export -p | grep JAVA_HOME
declare -x JAVA_HOME="/usr/java/jre1.6.0_18"

I'm pulling my hair out here, any ideas?

like image 922
David Titarenco Avatar asked Feb 08 '10 19:02

David Titarenco


People also ask

Is Java compatible with Linux?

Java on Linux PlatformsThis installs the Java Runtime Environment (JRE) for 32-bit Linux, using an archive binary file ( . tar. gz ) that can be installed by anyone (not only the root users), in any location that you can write to. However, only the root user can install Java into the system location.


2 Answers

Do you have a JDK installed? You likely want to put $JDK_HOME/bin on your PATH, not the /bin of a JRE, as jar comes with JDK, not JRE.

like image 155
matt b Avatar answered Nov 01 '22 15:11

matt b


Do this:

  1. Delete all installations of Java.
  2. Install the Java SDK (self-extracting) into /opt/jdk1.6.0_16 (for example)
  3. Create a symbolic link: ln -s /opt/jdk1.6.0_16 /opt/jdk
  4. Edit $HOME/.bashrc:

    JAVA_HOME=/opt/jdk
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

  5. Logout and log back in.

This offers many advantages:

  • You can install multiple versions of the SDK and need only switch a symbolic link.
  • You know where all the files are located.
  • You know exactly which version of Java is being used.
  • No other versions are installed, so there cannot be any conflicts.

I have done this for years and have never had any problems with Java on Linux, except for packages that do not detect that Java is installed and attempt to install the OpenJDK.

Also, stay away from the OpenJDK as its fonts are terrible to behold.

like image 32
Dave Jarvis Avatar answered Nov 01 '22 15:11

Dave Jarvis