Comment installer un JDK spécifique sur Mac OS X?


197

Je souhaite installer un JDK spécifique (le dernier par exemple). Pour cela, je suis allé sur la page d'accueil du téléchargement JDK: http://java.sun.com/javase/downloads/index.jsp . J'ai cherché une version Mac, mais je suis un peu surpris de ne voir que les versions téléchargeables pour Linux, Windows et Solaris ...

Voici le message pour Mac:

"Apple Computer fournit sa propre version de Java. Utilisez la fonction de mise à jour logicielle (disponible dans le menu Apple) pour vérifier que vous disposez de la version la plus récente de Java pour votre Mac."

OK MAIS ... quand je mets à jour Java avec Mac j'ai un JRE et pas un JDK ...

Je ne comprends pas pourquoi il n'existe pas de version JDK qui soit facilement téléchargeable / installable (comme un pot à décompresser?) Pour Mac ...


70
Question célèbre ... vous devez accepter une réponse. ;)
gary

Fink fournit une solution pour cela.
Daniel

10
Notez que Java 7 est maintenant fourni par Oracle - la plupart des réponses et la question se réfèrent à un état antérieur
mmmmmm

Réponses:


44

Dans un commentaire sous la réponse de @ Thilo, @mobibob a demandé comment définir JAVA_HOME dans votre .bash_profile sur un Mac. Répondre:

export JAVA_HOME=`/usr/libexec/java_home` 

Cela affectera dynamiquement à JAVA_HOME l'emplacement du premier JDK répertorié dans l'onglet "Général" de l'utilitaire "Préférences Java".

Voir Q&A technique 1170 d'Apple: https://developer.apple.com/library/content/qa/qa1170/_index.html

ÉDITER:

Si vous préférez les parenthèses aux crochets pour la substitution de commandes, cela fonctionne également:

export JAVA_HOME=$(/usr/libexec/java_home)

20

Comme le message l'indique, vous devez vous adresser à Apple, pas à Sun, pour Java sur Mac. Pour autant que je sache, Apple JDK 6 est installé par défaut sur Mac OS X 10.6 (Snow Leopard). Vous devrez peut-être installer les outils de développement à partir de votre DVD d'installation de Mac OS X (les outils de développement sont une installation facultative à partir du DVD d'OS).

Voir: http://developer.apple.com/java/

REMARQUE Cette réponse du 16 octobre 2009 est désormais obsolète; vous pouvez désormais obtenir le JDK pour Mac OS X à partir de la page de téléchargement standard du JDK sur le site Web d'Oracle.



10

J'ai acheté un MacBook Pro hier ( Mac OS X v10.8 (Mountain Lion)) et il n'y a pas de JDK installé par défaut ...

En plus de javac, j'ai également constaté qu'il n'avait pas de packages tels que SVN installés. Il s'avère que vous pouvez tout obtenir de la page des développeurs Apple (vous devrez vous inscrire avec votre AppleID). SVN fait partie du package "Command Line Tools".

Entrez la description de l'image ici

Voici ce qui se passe sur un nouveau MacBook:

Entrez la description de l'image ici

Entrez la description de l'image ici

J'espère que cela aidera d'autres débutants comme moi;)


5
+1. La situation a un peu changé avec Mountain Lion. Notez également que même si Apple propose l'installation facultative de Java, il ne s'agit que de Java 6. Les versions actuelles de Java pour OS X sont désormais distribuées par Oracle lui-même.
Thilo


4

L'explication est que JDK est un peu spécifique et ne contient pas la bibliothèque tools.jar . Pour mon développement, j'ai besoin de cette bibliothèque et le JDK de Mac ne la fournit pas:

(Cf. http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html )

tools.jar n'existe pas. Les classes généralement situées ici sont plutôt incluses dans classes.jar. Les scripts qui reposent sur l'existence de tools.jar doivent être réécrits en conséquence.

Ça craint!


1
Ahhhhhhh !!! Comme vous l'avez découvert, tools.jarest déjà inclus dans le runtime pour Mac OS X. La recherche tools.jarn'est donc pas la bonne approche sur Mac pour savoir s'il s'agit d'un JDK ou JRE :)
Pascal Thivent

Merci pour votre réponse, vous avez raison. Mon besoin était d'obtenir la bibliothèque tools.jar pour un projet spécifique et pour moi c'était une approche pour reconnaître un jdk;)
ajeanson

4

La façon la plus simple est d'utiliser Homebrew . Installez Homebrew puis:

brew tap caskroom/versions
brew cask install java7

Vous pouvez répertorier toutes les versions disponibles à l'aide de la commande suivante: brew cask search java


3

La compilation avec -source 1.5 -target 1.5 (dans un environnement JDK 6) n'honorera que les éléments de langage qui étaient en 1.5 et avant. Génial. Mais il n'y a eu aucun changement de langue de toute façon. Le problème avec cette approche (sur Mac avec 1.6) est que l'utilisation des classes fournies APRÈS 1.5 sera toujours compilée car elles existent dans le rt.jar. Ainsi, on pourrait s'exécuter dans un env 1.5 et obtenir une exception de classe non trouvée sans avertissement préalable lors de la compilation. J'ai découvert cela à la dure avec javax.swing.event.RowSorterEvent / Listener. Les deux sont entrés "depuis 1.6" mais ne sont pas pris avec -source 1.5



3

Depuis Mac OS X v10.6 (Snow Leopard), vous pouvez exécuter Java 6 en mode 32 bits sur des Mac équipés d'un processeur Intel 32 bits ou 64 bits .

Si vous ne pouvez pas passer à Snow Leopard, Soy Latte est une version précompilée de Java 6 pour Intel 32 bits.



1

Je pense que cette autre question Stack Overflow pourrait aider:

Comment obtenir JDK 1.5 sur Mac OS X

Il dit essentiellement que si vous devez compiler ou exécuter une application Java avec une ancienne version du JDK (par exemple 1.4 ou 1.5), vous pouvez le faire en utilisant le 1.6 car il est rétrocompatible. Pour ce faire, vous devrez ajouter le paramètre -source 1.5et / ou -target 1.5dans les options javac ou dans votre IDE.


1

JDK est le kit de développement Java (utilisé pour développer des logiciels Java).

JRE est l'environnement d'exécution Java (utilisé pour exécuter n'importe quel fichier .jar «logiciel Java»).

Le JDK contient un JRE à l'intérieur.

Sous Windows, lorsque vous mettez à jour Java, il met automatiquement à jour le JRE.

Sur Mac, vous n'avez pas de JRE séparé, vous l'avez, mais à l'intérieur du JDK, donc lorsque vous mettez à jour Java, il mettra à jour votre JRE qui est à l'intérieur de votre JDK; il n'installe pas de JDK pour vous. Vous devez l'obtenir ailleurs.


1
Je pense que vous vouliez dire JDK au lieu d'IDK. J'ai essayé de modifier, mais Stack Overflow a déclaré que les modifications devaient dépasser 6 caractères. Il suffit de le mentionner pour éviter toute confusion.
webworm

1

Vérifiez cet outil génial sdkman pour gérer votre jdk et d'autres outils liés jdk avec une grande facilité!

par exemple

$sdk list java
$sdk install java <VERSION>

1

Étant donné que la plupart des réponses sont obsolètes, voici ce qui fonctionne à la fin de 2018 en supposant que

  1. Vous souhaitez installer la version GPL d'OpenJDK. [0]
  2. Vous ne souhaitez pas installer Homebrew

Dans ce cas, récupérez la version souhaitée dans l'une des nombreuses éditions OpenJDK disponibles et librement utilisables, par exemple:

Certains d'entre eux incluent des programmes d'installation, mais sinon, vous pouvez effectuer les opérations suivantes. En supposant ici la version 11.0.1 pour Mac. Dans votre shell préféré, exécutez:

tar -xzf openjdk-11.0.1_osx-x64_bin.tar.gz
sudo mv jdk-11.0.1.jdk /Library/Java/JavaVirtualMachines
# Fix owner and group
sudo chown -R root:wheel /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk
# (Optional) Check if the new JDK can be found
/usr/libexec/java_home
=> /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

[0] Notez que le JDK de marque Oracle a des restrictions de licence importantes vous permettant son utilisation essentiellement uniquement pour les tests, c'est-à-dire pas pour la production. Si vous n'avez pas d'accord de support avec Oracle, il me semble risqué d'utiliser leur JDK, d'autant plus que les différences avec OpenJDK sont minimes .

Modifier: ajouté plus de choix


1
Je vous suggère de signaler le téléchargement depuis AdoptOpenJDK.net , puis de suivre vos instructions, évitant ainsi les problèmes juridiques et d'assistance des versions d'Oracle.
Basil Bourque

0

En règle générale, vous ne pouvez pas installer d'autres versions de Java sur un Mac que celles fournies par Apple via la mise à jour logicielle. Si vous avez besoin de Java 6, vous devez disposer d'un ordinateur Intel 64 bits. Vous devriez toujours avoir Java 5 et 1.4 et peut-être 1.3 installé si vous avez au moins OS X 10.4.

Si vous avez TRÈS beaucoup d'huile de coude et êtes prêt à travailler avec un logiciel bêta, vous pouvez installer OpenJDK sous OS X, mais je ne pense pas que vous vouliez y aller.


Je sais, c'est pourquoi j'ai ajouté ce commentaire. Peut-être aurait dû écrire un commentaire un peu plus long pour aller avec le lien :-)
Neeme Praks
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.