J'ai installé GlassFish 2.1.1. J'ai installé un JDK 1.5 et 1.6. Même si ma variable Java_HOME est définie sur la version 1.5 (et que "Java -version" et "javac -version" affichent 1.5), chaque fois que je démarre mon domaine glassfish, il indique toujours en haut du journal qu'il utilise la version 1.6. Comment puis-je contourner cela?
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
Ici vous pouvez trouver comment définir le chemin vers JDK pour Glassfish: http://www.devdaily.com/blog/post/Java/fixing-glassfish-jdk-path-problem-solved
Vérifier
glassfish\config\asenv.bat
où Java est configuré
REM set AS_Java=C:\Program Files\Java\jdk1.6.0_04\jre/..
set AS_Java=C:\Program Files\Java\jdk1.5.0_16
Ajout du contenu réel du lien de dbf afin de garder la solution dans stackoverflow.
Il s'avère que lorsque j'ai installé Glassfish pour la première fois sur mon système Windows, j'avais JDK 6 installé, et récemment j'ai dû rétrograder vers JDK 5 pour compiler du code pour un autre projet.
Apparemment, lorsque Glassfish est installé, il code en dur sa référence à votre emplacement JDK, donc pour résoudre ce problème, j'ai fini par devoir modifier un fichier nommé asenv.bat. Bref, j'ai édité ce fichier:
C:\glassfish\config\asenv.bat:
et j'ai commenté la référence au JDK 6 et ajouté une nouvelle référence au JDK 5, comme ceci:
REM set AS_Java=C:\Program Files\Java\jdk1.6.0_04\jre/..
set AS_Java=C:\Program Files\Java\jdk1.5.0_16
Bien que le chemin ne semble pas être sensible à la casse, j'ai passé des heures à déboguer un problème autour de objet de destination JMS introuvable car la casse de mon chemin de remplacement est incorrecte.
Je travaille sur un Mac, OSX 10.9. J'ai récemment dû mettre à jour mon JDK vers 1.7 pour certains logiciels VPN. L'application sur laquelle je travaille s'exécute sur JDK 1.6, donc un GlassFish devait fonctionner avec JDK 1.6. Il a fallu une minute pour régler cela, mais voici comment cela s'est passé pour moi. Je travaille avec les NetBeans IDE soit dit en passant.
Mon fichier de configuration GlssFish
/Applications/NetBeans/glassfish-3.1.2.2/glassfish/config/asenv.conf
Chemin vers JDK 1.6
/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
J'ai ajouté la ligne suivante au bas de mon asenv.conf
fichier
AS_Java=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
Erreur similaire avec Glassfish 4.0 et plusieurs JDK installés:
SEVERE: GlassFish requires JDK 7, you are using JDK version 6.
Il n'y a pas de référence AS_Java dans "C:\glassfish\config\asenv.bat" par défaut. Après avoir ajouté manuellement
set AS_Java=C:\Program Files\Java\jdk1.7.0_25
ça marche.
J'ai eu le même problème dans mon IntelliJ 17 après avoir ajouté du verre de verre frais 4.1.
J'avais mis mon Java_HOME
variable d'environnement comme suit:
echo %Java_HOME%
C:\Java\jdk1.8.0_121\
Puis ouvert %GLASSFISH_HOME%\glassfish\config\asenv.bat
Et juste ajouté et la fin du fichier:
set AS_Java=%Java_HOME%
Puis Glassfish a commencé sans problème.
Selon le GF Guide d'administration:
Pour une installation JVM valide, les emplacements sont vérifiés dans l'ordre suivant: a. domain.xml (Java-home dans Java-config) b. asenv.conf (définition de AS_Java = "chemin d'accès Java home")
J'ai dû ajouter les deux ces paramètres pour le faire fonctionner. Sinon, "asadmin stop-domain domain1" ne fonctionnerait pas. Je suppose que GF utilise a. Et asadmin utilise b.
(Sous Windows: b. Asenv.bat)
Dans mon cas, le problème était que la variable Java_HOME a été définie comme jre installé.
Une alternative à la définition de la variable AS_Java consiste à définir la variable d'environnement Java_HOME sur le jdk (c'est-à-dire /usr/local/jdk1.7.0.51).
MESSAGE D'ERREUR :
..... PWC6199: Erreur de servlet générée: -Source 1.5 ne prend pas en charge l'opérateur diamant (veuillez utiliser -source version 7 ou supérieure pour activer l'opérateur diamant)
Solution
Sur MAC: allez à