Comment utiliser JDK 7 sur Mac OSX?


107

Je souhaite utiliser l'API WatchService comme mentionné dans ce lien: http://download.oracle.com/javase/tutorial/essential/io/notification.html

Après avoir lu, j'ai découvert que WatchService fait partie de la classe NIO qui est prévue pour JDK 7. Donc, il est sous forme bêta. C'est bon.

http://jdk7.java.net/download.html contient le JDK que j'ai téléchargé et extrait. J'ai un tas de dossiers. Je ne sais pas quoi en faire.

Ensuite, j'ai lu un peu plus et j'ai trouvé qu'un groupe de personnes sympas avait créé JDK 7 en tant que binaire afin que quelqu'un comme moi puisse l'installer facilement. Il s'appelle Open JDK: http://code.google.com/p/openjdk-osx-build/

J'ai donc téléchargé le fichier .dmg et l'ai installé. Ensuite, j'ouvre "Java Preference" et je vois qu'OpenJDK7 est disponible.

Donc, maintenant, je sens que je peux commencer à essayer l'API WatchService. À partir du tutoriel dans le premier lien, l'auteur a donné un fichier .java pour le tester d'abord et s'assurer qu'il est en cours d'exécution. Voici le lien vers le fichier: http://download.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java

Donc, je démarre Eclipse (en fait j'utilise STS) et crée un nouveau projet Java et choisis JaveSE-1.7 dans le "utiliser un environnement d'exécution JRE:". Dans le dossier src, j'ai copié-collé le fichier WatchDir.java.

Et je vois encore des tonnes de lignes rouges ondulées. Tous les "import.java.nio. *" Sont tous rouges et je ne peux pas l'exécuter en tant qu'application Java.

Qu'est-ce que je dois faire?


Pouvez-vous l'exécuter et le compiler sur la console?
dmeister le

Vous voulez dire: $ javac WatchDir.java puis $ Java WatchDir? Je vais essayer ça. Merci! Bien que j'aimerais qu'il soit disponible dans Eclipse IDE.
okysabeni

1
À partir d'aujourd'hui, il existe une version officielle d'Oracle - Java SE 7u4
mmmmmm

Assurez-vous que vous utilisez Eclipse 64 bits. Je n'ai pas eu de chance d'exécuter un 32 bits sur 1.7 jvm avec toutes les options.
tuxSlayer

Mise à jour: Java 7 est maintenant en fin de vie . Pour passer aux versions de support à long terme (LTS) de Java, voir: Comment installer Java 8 sur Mac et obtenir Java 11 pour macOS? .
Basil Bourque le

Réponses:


61

Oracle a publié JDK 7 pour OS X .


Je mettrai à jour la réponse avec les dernières informations. Veuillez me faire savoir si ce n'est pas la bonne réponse. Merci.
okysabeni

@Yko - regardez BasilBourque pour les informations les plus complètes (ou la mienne pour le premier Oracle JDK7 version 4)
mmmmmm

12
Notez que pour que les applications utilisent Java 1.7 d'Oracle au profit de Java 1.6 d'Apple, j'ai dû lancer /Library/Java/JavaVirtualMachines/1.7.0.jdket faire glisser "Java SE 7" en haut de la liste sur l'onglet "Général". Cela fera également javacpointer vers la version Java 1.7 lors de l'exécution du terminal.
sschuberth

2
Le JDK7 d'Oracle ne fonctionne pas sur Snow Leopard. Il dit qu'il n'est pris en charge que par Lion.
Sanghyun Lee

@Sangdol - Oui, l'implémentation Java d'Oracle ne fonctionne que sur Lion et versions ultérieures. Comme indiqué dans ma réponse à cette question.
Basil Bourque

88

C'est ainsi que j'ai eu 1.7 pour travailler avec Eclipse. J'espère que cela aide.

  1. J'ai téléchargé le dernier JDK universel OpenJDK 1.7 (32/64 bits) à partir de la branche Mac OS / X à partir de http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
  2. copié le jdk dans / Library / Java / JavaVirtualMachines / à côté de celui par défaut 1.6.0
  3. Dans Eclipse> Préférences> Java> JRE installés, vous en ajoutez un nouveau, de type MacOS X VM, et définissez la maison comme /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home et nommez Java SE 7 (OpenJDK)
  4. Cliquez sur Terminer
  5. Définir le JRE ajouté par défaut

ça devrait être ça :)


merci mon elcipse complètement accroché .. donc j'ai essayé d'utiliser sdk 1.7 fonctionnait parfaitement! : =)
cV2

1
Ce projet (openjdk-osx-build) s'est arrêté et n'offre plus de téléchargement.
aroth le

l'étape 2 peut être juste: exécutez jdk-7u40-macosx-x64.dmg en téléchargement et il ajoutera automatiquement un fichier au chemin
Michal

Lors de l'ajout d'un JRE installé à Eclipse, Eclipse peut également «rechercher» les JRE installés. C'est ainsi que j'ai trouvé mon installation existante de 1.7 JDK.
jvriesem

Notez que le programme d'installation d'oracle jdk 1.7 mettra la VM dans / Library / Java / JavaVirtualMachines / pour vous (mars 2014)
Chris Thorne

55

Java 9, 10, 11

Il y a des années, Apple a rejoint le projet OpenJDK , transférant son ancien code JVM spécifique à macOS en tant que code open source gratuit. Apple a cessé de distribuer sa propre JVM / JDK de marque, s'appuyant sur les versions de marque d'Oracle pour inclure une version pour macOS.

Oracle a récemment annoncé son intention d'amener sa version JVM de marque Oracle à la parité avec le projet OpenJDK, avec pratiquement la même base de code. La société a même fait don de ses outils précédemment commerciaux, Flight Recorder & Mission Control , au projet OpenJDK. Cela fait partie de la transition vers un nouveau plan de «release train» rapide pour la gestion prévisionnelle des versions de Java et d'OpenJDK. Notamment, les délais de mise à jour publique gratuite sont désormais raccourcis. Voir cette annonce 2017-09 et cette publication de Mark Reinhold .

À la suite de tout cela, les utilisateurs macOS de Java ont le choix de fournisseurs pour une implémentation Java. À ce stade, au moins trois sources sont basées sur OpenJDK pour macOS:

  • Versions Oracle du JDK et du JRE, avec support payant en option.
  • Azul Systems publie:
    • Gamme Zulu de JVM gratuits avec support payant en option.
    • Ligne Zing de JVM commerciaux avec des fonctionnalités spéciales telles qu'un autre garbage collector.
  • Code source OpenJDK , compilation et installation personnalisées (peut-être pas pratique pour la plupart d'entre nous).

Pendant ce temps, IBM a fait don de code pour une JVM à la Fondation Eclipse, désormais hébergée dans le projet OpenJ9 . Je me demande s'ils pourraient également prendre en charge une version macOS, bien qu'il soit trop tôt pour le dire.

Personnellement, j'utilise actuellement la version Zulu de Java 10.0.1 d'Azul sur macOS High Sierra avec succès avec IntelliJ 2018.2 pour produire des applications Web basées sur Java avec Vaadin .

Installation / suppression

Oracle et Azul fournissent des programmes d'installation extrêmement simples à utiliser pour installer la JVM / JDK sur votre Mac. Vérifiez votre installation à l'aide de Terminal.app (ou équivalent) pour taper et exécuter:

java -version

Vous trouverez les installations Java dans ce dossier au niveau racine de votre lecteur (pas dans votre dossier de départ):

/ Bibliothèque / Java / JavaVirtualMachines

Chaque version de chaque fournisseur s'y trouve, dans un dossier imbriqué étiqueté. Vous pouvez supprimer toute installation simplement en supprimant le dossier imbriqué pour cette version et en fournissant votre mot de passe système lorsque vous y êtes invité.

Java 8

Vous pouvez télécharger le kit de développement Java (JDK) pour Java 8 pour les versions prises en charge de Mac OS X:

  • Mountain Lion (10.8.3+)
  • Non-conformistes (10,9)
  • Yosémite (10.10)
  • El Capitan (10.11)

Chaque version de JVM que vous installez se trouve ici:

/Library/Java/JavaVirtualMachines

Pour plus d'instructions et FAQ, consultez ce manuel Oracle .

Java 7

Pour chaque version de Java 7 depuis la mise à jour 4, une version Mac est prête aux côtés des autres plates-formes. Fonctionne sur Mac avec matériel 64 bits sur Lion (10.7.3+), Mountain Lion (10.8.3+) et Mavericks (10.9.x).

Oracle a annoncé la sortie officielle du JDK pour Java SE 7 Update 4 sur Mac OS X (Lion), à compter du 26/04/2012. Plus besoin des astuces évoquées sur cette page.

L'installation est simple selon ces instructions :

  1. Téléchargez depuis l'emplacement habituel sur le site Web d'Oracle.
  2. Montez le DMG.
  3. Exécutez le programme d'installation.

Cette version présente quelques limitations, notamment l'absence de prise en charge de Java Web Start et du plug-in Java pour les navigateurs Web. Ce soutien est attendu plus tard cette année.

Après l'installation, lisez le fichier ReadMe du JDK pour Mac. Plus important encore, si vous souhaitez que Java 7 soit la valeur par défaut, faites-le glisser en haut de la liste dans l' application Préférences Java située dans votre dossier Utilitaires.

Mac OS X prend facilement en charge plusieurs JVM simultanément. Chacun se trouve maintenant ici:

/Library/Java/JavaVirtualMachines

Félicitations aux équipes Apple et Oracle pour leur réussite. Ce geek est ravi de voir Mac OS X répertorié comme " Configuration système certifiée ".

Conseil: pour démarrer Eclipse sur un Mac avec uniquement Java 7 installé, ouvrez le fichier d' alias nommé eclipse plutôt que le fichier nommé Eclipse.app .

Java 6

Apple continue de fournir une implémentation à jour de Java 6 pour toutes les versions de Mac OS X jusqu'à Mountain Lion.

Si vous faites quelque chose qui nécessite Java, comme tapez "java -version" dans Terminal.app, une boîte de dialogue apparaît vous proposant d'installer Java pour vous. Si vous acceptez, l'installation se fait automatiquement de la même manière que les autres «mises à jour logicielles» d'Apple.

Vous trouverez Java installé à cet emplacement, différent de Java 7 et 8:

/System/Library/Java/JavaVirtualMachines

Java 6 est arrivé en fin de vie avec Oracle à compter de 2013-02 (sauf si vous avez un accord de support commercial avec Oracle). Vous devriez donc passer à Java 7 ou 8.

Test de la nouvelle version

Dans Terminal.app, tapez java -versionpour vérifier quelle version est la version par défaut actuelle.

Suppression d'anciennes versions

Après avoir installé une nouvelle version, vous souhaiterez peut-être visiter le dossier décrit ci-dessus pour supprimer les anciennes versions. Déplacez le dossier dans la corbeille et fournissez votre mot de passe système pour terminer le déplacement.


À propos, Apple fournit une liste de diffusion pour les problèmes techniques des développeurs liés à Java sur OS X.


Merci, cela a très bien fonctionné pour moi. Besoin de le changer dans les préférences aussi.

@Tony: Oui, la modification de vos préférences est mentionnée au 4ème paragraphe.
Basil Bourque

Ça ne marche pas. J'exécute le programme d'installation et il signale "Succès", mais rien ne semble être réellement installé. /System/Library/Java/JavaVirtualMachinescontient uniquement Java 6 JDK.
aroth le

4
@aroth - (a) Regardez dedans /Library/Java/JavaVirtualMachines(pas /System). (b) Avez-vous lu les documents d'installation d'Oracle, le ReadMeet l'ensemble Preferencescomme décrit dans ma réponse ci-dessus?
Basil Bourque

1
Avec Java 7 r21, je vois /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/. Le panneau de configuration Java est maintenant accessible via les préférences système (OSX 10.8.3)
Sofi Software LLC

17

Un moyen simple d'installer Java 7 sur un Mac consiste à utiliser Homebrew , grâce au plugin Homebrew Cask (qui est maintenant installé par défaut).

Exécutez cette commande pour installer Java 7:

brew cask install caskroom/versions/java7

"Erreur: aucun cask disponible pour caskroom / versions / java7"
jrochkind

@jrochkind Peut-être que vous êtes caskroom/versionsobsolète? C'est définitivement ici: github.com/caskroom/homebrew-versions/blob/master/Casks/…
Andrew

@jrochkind Essayez d'exécuter brew tap caskroom/versionsavant d'exécuter la commande d'installation
Andrew

@jrochkind Si cela ne fonctionne pas, consultez la documentation de cask, ou signalez
Andrew

13

Obtenez un tonneau

brew tap caskroom/cask

Installez java7:

brew tap caskroom/versions
brew cask install java7

(J'ai eu du mal à trouver le lien de téléchargement de java7 sur le site Web d'Oracle, car ils ne font que "recommander" java8)

EDIT janvier 2018 (comme indiqué par Ankur ):

Utilisez le fût zulu7 . Zulu est une version certifiée d'OpenJDK produite par Azul Systems qui devrait exister pendant longtemps (ils proposent même des versions JDK6 encore).

brew cask install caskroom/versions/zulu7

La réponse acceptée pour cette question est obsolète. Cela semble être le meilleur moyen d'installer Java 7 de nos jours.
Tim Dean

ce fût a été retiré (voir: github.com/caskroom/homebrew-versions/pull/3914 ). l'alternative suggérée est d'utiliser zulu7.
Ankur

9

Je sais que certains voudront peut-être me claquer pour avoir rouvert un ancien message, mais si vous le pensez, j'espère simplement que cela aidera quelqu'un d'autre à essayer de configurer JDK 7 sur Mac OS (en utilisant IntelliJ).

Ce que j'ai fait pour que cela fonctionne sur ma machine est de:

  • suivi des instructions sur le port Oracle JDK7 Mac OS X pour une installation générale
  • dans IntelliJ, ouvrez / créez un nouveau projet pour pouvoir ajouter un nouveau SDK (Fichier> Structure du projet)
  • sélectionnez Paramètres de la plate-forme> SDK, appuyez sur le signe «+» (plus) pour ajouter un nouveau SDK
  • sélectionnez JSDK et accédez à / Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home. Ne vous méprenez pas avec / Users / YOUR_USERNAME / Library / Java / . Cela reliera 4 JAR du répertoire "lib" (dt.jar, jconsole.jar, sa-jdi.jar et tools.jar)
  • vous devrez également ajouter des fichiers JAR de / Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home / jre / lib (charsets.jar, jce.jar, JObjC.jar, jsse.jar, management-agent .jar, resources.jar et rt.jar)

6

Il est possible que vous ayez encore besoin d'ajouter le JDK dans Eclipse (STS). Ce n'est pas parce que le JDK est sur le système qu'Eclipse sait où le trouver.

Accédez à Préférences> Java> JRE installés

S'il n'y a pas d'entrée pour le JDK 1.7, ajoutez-la. Vous devrez pointer Eclipse vers l'endroit où vous avez installé votre 1.7 JDK.

Si Eclipse ne trouve pas de JRE compatible 1.7, je suppose qu'il utilise simplement votre JRE par défaut, et qu'il pointe probablement toujours vers Java 1.6, ce qui provoquerait vos lignes ondulées rouges.


Bon appel! Mais j'ai besoin d'un peu plus de conseils. Je vais sous JRE installés -> Ajouter et pointer sur ... / jdk1.7.0 / jre et il a trouvé un tas de fichiers JAR. Je clique sur Terminer. Essaye heureusement de construire mais maintenant il dit ... / jdk1.7.0 / jre / bin / java: impossible d'exécuter le fichier binaire. Qu'est-ce que ça veut dire?
okysabeni

Je ne suis pas vraiment sûr. Vous pouvez essayer de pointer eclipse vers le répertoire jdk de base au lieu du répertoire jre. Je pense que c'est comme ça que je l'ai fait sous Windows, même si je n'ai jamais désactivé le JDK par défaut sur mon Mac. Si cela ne fonctionne pas, vous pouvez essayer d'installer une distribution différente de JDK 7 - il y en avait quelques-unes disponibles sur le site openjdk-osx-build, peut-être en avez-vous pris une qui n'est pas compatible avec votre système?
Jon Quarfoth

J'ai essayé ça. Cela me donne l'erreur "La cible n'est pas une racine JDK. La bibliothèque système n'a pas été trouvée"
okysabeni

6

après avoir installé le 1.7jdk depuis oracle, j'ai changé mes scripts bash pour ajouter:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home

puis en cours d'exécution a java -versionmontré la bonne version.





1

Les instructions de peter_budo ont parfaitement fonctionné. J'ai dû ajouter les jars sous / Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home / jre / lib / à mes bibliothèques de projet IntelliJ. Maintenant, cela fonctionne comme un charme. Notez que je n'avais pas besoin de mon IDE lui-même pour fonctionner sous 1.7; plutôt, je n'avais besoin que de pouvoir compiler et fonctionner avec 1.7. Je continuerai très probablement à utiliser le JRE d'Apple pour exécuter l'EDI car il est probablement plus stable en ce qui concerne les routines graphiques (Swing, AWT). Comme l'OP, je tenais vraiment à tester la nouvelle API NIO2. Ça a l'air bien jusqu'à présent. Merci, Peter.


1

Ce qui a fonctionné pour moi sur Lion a été d'installer le JDK7_u17 à partir d'Oracle, puis de modifier ~ / .bash_profile pour inclure: export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.7.0_13.jdk / Contents / Home


0

J'ai mis à jour vers Yosemite et Android Studio ne nettoierait pas mes projets ou ne les exécutait pas sur un appareil virtuel ou réel à cause de l'erreur suivante:

Failed to complete Gradle execution.Cause:Supplied javaHome is not a valid folder. You supplied: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Après quelques recherches et dépannage, j'ai trouvé que le fichier JDK qui était pointé vers "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home" n'était pas là; tout "JavaVirtualMachines / 1.6.0.jdk / Contents / Home" était absent de "/ System / Library / Java". Donc, j'ai copié "JavaVirtualMachines / 1.6.0.jdk / Contents / Home" de "/ Library / Java /" vers "/ System / Library / Java /" et cha ching! J'étais de retour aux affaires.


0

Maintenant, utilisez la commande

Mise à jour 2020: 04

Pour installer Java7 avec homebrew run:

brew tap homebrew/cask-versions
brew cask install java7

J'espère que cette aide.

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.