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 ...

ajeanson
la source
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
Voir aussi: Obtenir Java 11 pour macOS?
Basil Bourque

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)
Mark Tye
la source
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.

Jesper
la source
10

Pour les personnes utilisant n'importe quel LION OS X 10.7.X

Ils ont téléchargé Java SE 6 version 1.6.0_26 disponible ici

http://support.apple.com/kb/dl1421

Roy Calderon
la source
3
Aaand, ils l'ont remplacé par _29, qui a le bogue MS SQL. Génial. :(
Carighan
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;)

brûlures mates
la source
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!

ajeanson
la source
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

solomkinmv
la source
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

Evan
la source
3

Si vous avez installé brew, cmd ci-dessous sera utile:

brew cask installer java

Lourd
la source
Brasser? Voulez-vous dire Homebrew ?
Peter Mortensen
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.

Brian M. Carr
la source
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.

Fgblanch
la source
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.

Peter Mortensen
la source
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>
Rishikesh Darandale
la source
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

LCC
la source
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.

Thorbjørn Ravn Andersen
la source
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