Que dois-je mettre JAVA_HOME sur OSX
De nombreuses applications Java qui utilisent des scripts shell pour configurer leur environnement d'utilisation de l' JAVA_HOME
variable d'environnement pour démarrer la bonne version de Java, recherchez JRE Pots, et ainsi de suite.
Sur OSX 10.6, les chemins d'accès suivants semblent être valide pour cette variable
/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current
Certains de ces sont les liens symboliques à l'effectif actuel de la VM (tel que défini dans la Java dans les Préférences).
Mais qui doit être utilisé—ou est-il correct d'utiliser l'un d'eux?
Vous devez vous connecter pour publier un commentaire.
Ne Snow Leopard encore
/usr/libexec/java_home
? 10.5, j'ai juste misJAVA_HOME
à la sortie de cette commande, qui devrait vous donner le Java chemin d'accès spécifié dans votre Java préférences. Voici un extrait de mon.bashrc
fichier, qui définit cette variable:Je n'ai pas rencontré de problème avec cette technique.
Parfois je fais de modifier la valeur de
JAVA_HOME
à une version antérieure de Java. Par exemple, un programme, que je suis le maintien nécessite 32 bits de Java 5 sur OS X, de sorte que lors de l'utilisation de ce programme, j'ai misJAVA_HOME
en cours d'exécution:Pour ceux d'entre vous qui n'ont pas
java_home
dans votre chemin d'accès de l'ajouter comme cela.JAVA_HOME
est livré avec Mac.if /usr/libexec/java_home &> /dev/null; then export JAVA_HOME=$(/usr/libexec/java_home); fi
, si je peux utiliser le même .fichier rc sur plusieurs machines si elles ont le JDK installé ou pas. Unconditionalized; vous obtiendrez un message d'avertissement à chaque démarrage du shell.~/.bash_profile
au lieu de~/.bashrc
.ln: /usr/libexec/java_home: Operation not permitted
. Quelqu'un sait quel pourrait être le problème?alias java7 "set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"
(Fonctionne sur El Capitan)Aussi, il est intéressant de définir votre CHEMIN pour refléter le JDK. Après l'ajout de JAVA_HOME (ce qui peut être fait avec l'exemple cité par 'mipadi'):
export JAVA_HOME=$(/usr/libexec/java_home)
Ajouter également dans ~/.profil:
export PATH=${JAVA_HOME}/bin:$PATH
P. S.: Pour OSX, j'utilise généralement .profil dans le répertoire HOME au lieu de .bashrc
.bash_profile
— pourquoi pensez-vous que le générique.profile
?.profile
est générique, il fonctionne avecsh
oubash
, tandis que.bash_profile
est exclusif àbash
. Aussi cela permet d'isoler les paramètres à partir des applications qui utilisent le.bash_profile
, commeMacPorts
. Mais vous pouvez utiliser en toute sécurité l'un des deux. Voir plus à ce sujet here.bash_profile
remplace.profile
..bash_profile
est spécifique, tandis que la.profile
est générique, pour tous lessh
variations.java
dans votre/usr/bin
il ne devrait pas être nécessaire d'ajouter explicitement$JAVA_HOME
à votre chemin d'accès.Je vais avoir MAC OS X(Sierra) 10.12.2.
J'ai mis JAVA_HOME de travailler sur Réagir Natif(pour les apps Android) en suivant les étapes suivantes.
Ouvrir un Terminal (Commande+R, tapez Terminal, appuyez sur ENTRÉE).
Ajoutez les lignes suivantes à ~/.bash_profile.
export JAVA_HOME=$(/usr/libexec/java_home)
Maintenant, exécutez la commande suivante.
source ~/.bash_profile
Vous pouvez vérifier la valeur exacte de JAVA_HOME en tapant la commande suivante.
echo $JAVA_HOME
La valeur(de sortie) retourné sera quelque chose comme ci-dessous.
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Que c'est.
$JAVA_HOME
fait référence$(/usr/libexec/java_home)
et$(/usr/libexec/java_home)
est à l'intérieur dénommé/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
par le Système.Aujourd'hui Java semble être installé dans
/Library/Java/JavaVirtualMachines
Je suis sur Mac OS 10.6.8
La solution la plus simple qui fonctionne pour moi est tout simplement mis en
Pour tester si cela fonctionne, mis en
il montre
vous pouvez également tester
J'ai tendance à utiliser
/Library/Java/Home
. La façon dont le volet des préférences fonctionne ce doit être à jour de votre version préférée.Que les travaux ci-dessus n'est plus du tout dans le YOSEMITE pour les APPLICATIONS GRAPHIQUES! Comme eclipse, ou tout a commencé avec un coup de Projecteur. (.bash_profile, launchd.conf fonctionne pour les sessions terminal server uniquement.)
Avant de commencer eclipse, il suffit d'ouvrir une fenêtre de terminal, et donnent de la commande suivante:
(Avec le chemin de votre installation! Peut-être travaille avec $(/usr/libexec/java_home) au lieu de la pleine voie trop.)
Vue de l'ensemble de l'excellent article sur la solution permanente ici:
Définition des variables d'environnement par launchd.conf ne fonctionne plus dans OS X Yosemite/El Capitan/macOS Sierra?
J'ai trouvé cette pile aider, j'ai eu le même problème et j'ai pu correctif:
Mon chemin d'accès java est ici:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
et a été nécessaire pour mettre dans mon
.bash_profile
:export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\"
Espère aider
Sauter à la configuration du Terminal puisque vous avez mentionné des applications, des permanents variable d'environnement système mis en place (pour macOS Sierra; devrait fonctionner pour El Capitan trop):
(ce sera mis en JAVA_HOME pour la dernière 1.8 JDK, les chances sont que vous avez traversé plusieurs mises à jour par exemple javac 1.8.0_101, javac 1.8.0_131)
Bien sûr, le changement de 1,8 1,7 1,6 (vraiment?) pour répondre à votre besoin et votre système
Comme d'autres réponses noter, la bonne façon de trouver le répertoire de base Java est d'utiliser
/usr/libexec/java_home
.La documentation officielle pour ce qui est d'Apple dans la Technique Q&UN QA1170: Java Importants Répertoires sur OS X: https://developer.apple.com/library/mac/qa/qa1170/_index.html
Pour moi maven semble fonctionner hors de la
.mavenrc
fichier:Je suis sûr que je l'ai ramassé sur aussi, ne m'en souviens pas où.
De créer le fichier
~/.mavenrc
puis les coller dans le fichier
export JAVA_HOME=$(/usr/libexec/java_home)
test
mvn -v
Pour les Poissons les usagers de Shell, utilisez quelque chose comme ce qui suit:
alias java7 "set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"