2012-05-04 93 views
32

He instalado GlassFish 2.1.1. Tengo un 1.5 y un 1.6 JDK instalados. Aunque mi variable JAVA_HOME está configurada en la versión 1.5 (y tanto "java -version" como "javac -version" muestran 1.5), cada vez que inicio mi dominio glassfish siempre indica en la parte superior del registro que está usando la versión 1.6. ¿Cómo puedo anular esto?¿Cómo especifico el JDK para un dominio GlassFish?

Starting Domain domain2, please wait. 
04-May-2012 08:38:47 com.sun.enterprise.admin.servermgmt.launch.ASLauncher buildCommand 
INFO: 
C:/Dev/jdk/1.6/1.6.0_19\bin\java 
+0

El instalador selecciona un JDK adecuado. Si desea una solución simple, puede volver a instalar utilizando el instalador. –

Respuesta

57

Aquí puede encontrar la manera de establecer la ruta de JDK para Glassfish: http://www.devdaily.com/blog/post/java/fixing-glassfish-jdk-path-problem-solved

Comprobar

glassfish\config\asenv.bat 

donde ruta de Java está configurado

REM set AS_JAVA=C:\Program Files\Java\jdk1.6.0_04\jre/.. 
set AS_JAVA=C:\Program Files\Java\jdk1.5.0_16 
+0

¡Incluso funciona con glassfish 4.1.1! – slartidan

+0

No es suficiente para GF 4.1.1 en mi experiencia, consulte mi respuesta a continuación. –

10

de añadir el contenido real de el enlace de dbf para mantener la solución dentro de stackoverflow.

It turns out that when I first installed Glassfish on my Windows system I had JDK 6 installed, and recently I had to downgrade to JDK 5 to compile some code for another project.

Apparently when Glassfish is installed it hard-codes its reference to your JDK location, so to fix this problem I ended up having to edit a file named asenv.bat. In short, I edited this file:

C:\glassfish\config\asenv.bat: 

and I commented out the reference to JDK 6 and added a new reference to JDK 5, like this:

REM set AS_JAVA=C:\Program Files\Java\jdk1.6.0_04\jre/.. 
set AS_JAVA=C:\Program Files\Java\jdk1.5.0_16 

Aunque el camino no parece ser sensible a mayúsculas, he pasado horas depuración de una cuestión en torno JMS objeto Destino no encontrado debido al caso de mi ruta de reemplazo siendo incorrecto

5

error similar con Glassfish 4.0 y varios JDK instalado:

SEVERE: GlassFish requires JDK 7, you are using JDK version 6. 

no hay ninguna referencia AS_JAVA en "C: \ glassfish \ config \ asenv.bat" por defecto. Después de agregar manualmente

set AS_JAVA=C:\Program Files\Java\jdk1.7.0_25 

funciona.

1

En mi caso, el problema era que la variable JAVA_HOME se configuró como jre.

Una alternativa para establecer la variable AS_JAVA es establecer la variable de entorno JAVA_HOME en el jdk (es decir, /usr/local/jdk1.7.0.51).

6

Estoy trabajando en una Mac, OSX 10.9. Recientemente tuve que actualizar mi JDK a 1.7 para algún software de VPN. La aplicación en la que estoy trabajando se ejecuta en JDK 1.6, por lo que GlassFish tuvo que ejecutarse con JDK 1.6. Me llevó un minuto aclarar esto, pero así es cómo me fue. Por cierto, trabajo con NetBeans IDE.

  1. Mi fichero de configuración GlssFish

    /Applications/NetBeans/glassfish-3.1.2.2/glassfish/config/asenv.conf

  2. Camino a JDK 1.6

    /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home

  3. que añade la siguiente línea en la parte inferior de mi archivo asenv.conf

    AS_JAVA=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home

+0

Hice lo mismo en mac, No funciona –

+0

@TowfikAlrazihi - No he hecho ningún desarrollo de Java desde hace 2 años, ya no soy dueño de la máquina en la que hice este trabajo, así que no puedo ser mucho ayuda aquí Hacer preguntas estúpidas: 1. ¿Reinició Glassfish? 2. 'which java' informó la ruta que utilizó para su configuración' AS_JAVA' en el archivo 'asenv.conf'? – fusion27

+0

por favor, consulte mi respuesta a continuación –

3

De acuerdo con la Guía de administración de GF:

For a valid JVM installation, locations are checked in the following order: a. domain.xml (java-home inside java-config) b. asenv.conf (setting AS_JAVA="path to java home")

I tenia que dd ambos estas configuraciones para que funcione. De lo contrario, 'asadmin stop-domain domain1' no funcionaría. Supongo que GF usa a. y asadmin usa b.

(En Windows:. B asenv.bat)

1

MENSAJE DE ERROR:

..... PWC6199: Generado error servlet: -Source 1.5 no es compatible con el operador de diamantes (por favor utilizar la versión -fuente 7 o superior para permitir al operador diamante)

Solución

en Mac: vaya a

  • /Usuarios/nombre de usuario/GlassFish_Server/glassfish/dominios/domain2/config
  • abra el archivo default_web.xml
  • encontrar el JSP
  • añadir

    enter image description here

2

Tuve el mismo problema en mi IntelliJ 17 después de agregar glassfish fresco 4.1.

yo había puesto mi variable de JAVA_HOME entorno de la siguiente manera:

echo %JAVA_HOME% 
C:\Java\jdk1.8.0_121\ 

Entonces les abrió %GLASSFISH_HOME%\glassfish\config\asenv.bat

Y justo añadido y el final del archivo:

set AS_JAVA=%JAVA_HOME%

Entonces Glassfish comenzado sin problemas.

Cuestiones relacionadas