2010-02-08 13 views
19

Instalé Java 6 JRE en mi VPS muy bien, pero no puedo ejecutar incluso la instalación de EE SDK.Problemas al instalar Java EE SDK en Linux

[email protected] [/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) 

Sin embargo, cuando trato de ejecutar java_ee_sdk-6-unix.sh:

./ ../ java_ee_sdk-6-unix.sh* jre1.6.0_18/ jre.bin* 
[email protected] [/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 

Pero el problema es que me puse mis variables de entorno correctamente:

[email protected] [/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 
[email protected] [/usr/java]# export -p | grep JAVA_HOME 
declare -x JAVA_HOME="/usr/java/jre1.6.0_18" 

Estoy tirando de mi pelo aquí , ¿algunas ideas?

+0

¿No su distribución tienen un gestor de paquetes? ¿Por qué no usas eso? – voyager

+0

No creo que pueda obtener el EE SDK a través de rpm. http://java.sun.com/javaee/downloads/index.jsp - Sun simplemente lo entrega como una instalación .sh. –

+0

¿Qué dice "qué jar"? – daveb

Respuesta

15

¿Tiene un JDK instalado? Es probable que desee poner $JDK_HOME/bin en su RUTA, no el /bin de un JRE, ya que jar viene con JDK, no JRE.

+0

Sí, 100% correcto. Fijo. Gracias. –

7

hacer esto:

  1. Eliminar todas las instalaciones de Java.
  2. Instalar el Java SDK (autoextraíble) en /opt/jdk1.6.0_16 (por ejemplo)
  3. crear un enlace simbólico: ln -s /opt/jdk1.6.0_16 /opt/jdk
  4. Editar $HOME/.bashrc:

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

  5. Cerrar sesión y volver a iniciarla

  6. .

Esto ofrece muchas ventajas:

  • Puede instalar varias versiones del SDK y sólo tiene que cambiar un enlace simbólico.
  • Ya sabe dónde se encuentran todos los archivos.
  • Sabes exactamente qué versión de Java se está utilizando.
  • No hay otras versiones instaladas, por lo que no puede haber ningún conflicto.

Lo he hecho durante años y nunca he tenido ningún problema con Java en Linux, a excepción de los paquetes que no detectan que Java está instalado e intento de instalar OpenJDK.

Además, aléjate del OpenJDK ya que sus fuentes son terribles de contemplar.

1

En mi caso, tuve jdk1.6.0_16 extraído en mi directorio de inicio y tenía un enlace simbólico a java y /javac en /bin. Luego encontré el error descrito anteriormente en la pregunta.

Sin embargo, una vez que incluí un enlace simbólico a jar en /bin, el script de shell para instalar Java EE se ejecutó como se esperaba.

1

Mis 2 centavos ...

Tengo el mismo problema y resolverlo mediante la instalación de una utilidad jar.

Como "matt b" dijo que el problema era (bueno, mi problema), que el instalador no estaba encontrando una utilidad jar (programa jar), necesaria para ejecutar los archivos de instalación.

¿Tiene un JDK instalado? Probablemente quiera poner $ JDK_HOME/bin en su PATH, no en/bin de un JRE, ya que jar viene con JDK, no JRE.

Pero en mi caso (con Ubuntu 11.10 x64 y JAVA_HOME ->/usr// jvm/java-6-OpenJDK lib) el problema no se fija ajustando el directorio/bin del JDK en el camino. En cambio, tuve que instalar un paquete de utilidades jar (usando Synaptic) llamado Jarwrapper versión 0.37ubuntu1.

Después de instalarlo, el script de instalación de JDK de Oracle (java_ee_sdk-6u3-jdk7-linux-x64-ml.sh) funcionó perfectamente.

Saludos,

3

Tengo el mismo error. Eliminé OpenJDK usando apt-get (estoy ejecutando Ubuntu 11.10) luego descargué Java JDK 1.7 (que viene por supuesto con JRE) y desempaqué esto bajo/usr/local/java - esto me dio un nuevo directorio:

/usr/local/java/jdk1.7.0_04 

siguiente que ha añadido:

/usr/local/java/jdk1.7.0_04 

a $ PATH, establezca $ JAVA_HOME y $ JRE_HOME como

/usr/local/java/jdk1.7.0_04 
/usr/local/java/jdk1.7.0_04/jre 

respectivamente.

Todo funciona bien. Puedo compilar programas Java usando javac y ejecutarlos usando java. El programa Jar funciona bien también. Entonces, ¿por qué el instalador de Java ee se queja de eso? ¿Alguna pista sobre cómo arreglar eso?

+1

el problema ya no es válido, el problema fue que intenté ejecutar el instalador como ** sudo bash java_ee_sdk-6u4-unix.sh **, ¡simplemente cambié a la cuenta raíz usando su y funciona! : D – biera

+0

Por supuesto, es porque root tiene diferentes $ PATH var. Después de cambiar a usuario root, debe agregar $ JAVA_HOME (es necesario volver a establecer esta var) en $ PATH (RUTA = $ RUTA: $ JAVA_HOME). – biera

4

solución rápida y sucia para mí:

sudo apt-get install jarwrapper fastjar 

A continuación, sólo ejecutar el script .sh y listo!

3

Tuve el problema, sin embargo, estaba relacionado con la cuenta de usuario sudo al ejecutar el archivo .sh. Estaba instalando Glassfish v3 en un nuevo servidor alojado de VPS con Ubuntu 10.4 64Bit OS.

sudo chmod +x java_ee_sdk-6u2-jdk-linux-x64.sh 

sudo ./java_ee_sdk-6u2-jdk-linux-x64.sh -s -a java_ee_sdk-6u2-jdk-linux-x64-install-answers.txt 

sólo para obtener el mismo error exacto que fueron los primeros experimentando:

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 

tonto de verdad, cuando me encontré con el comando de la siguiente manera:

./java_ee_sdk-6u2-jdk-linux-x64.sh -s -a java_ee_sdk-6u2-jdk-linux-x64-install-answers.txt 

Para mi sorpresa que respondió con :

Welcome to GlassFish V3 installer 

Using the user defined JAVA_HOME : /opt/jdk 
Entering setup... 

Esto fue después de que tuviera mi configuración de JAVA_HOME en el archivo: /etc/bash.bashrc

JAVA_HOME=/opt/jdk 
export JAVA_HOME 

PATH=$PATH:$JAVA_HOME/bin 
export PATH