web-dev-qa-db-fra.com

Comment utiliser JDK 7 sur Mac OSX?

J'aimerais utiliser l'API WatchService mentionnée dans ce lien: http://download.Oracle.com/javase/tutorial/essential/io/notification.html

Après avoir lu, j'ai découvert que WatchService faisait partie de la classe NIO prévue pour JDK 7. Elle est donc en version bêta. C'est bien.

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 faire avec eux.

Ensuite, j’en ai lu un peu plus et découvert qu’un bon groupe de personnes 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'installé. J'ouvre ensuite "Préférences Java" et constate qu'OpenJDK7 est disponible.

Alors maintenant, j’ai l’impression que je peux commencer à essayer l’API WatchService. À partir du didacticiel du 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

J'ai donc démarré Eclipse (en fait, j'utilise STS), créé un nouveau projet Java et choisi JaveSE-1.7 dans "Utiliser un environnement d'exécution JRE:". Sous le dossier src, je copie le fichier WatchDir.Java collé.

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?

107
okysabeni

Oracle a publié JDK 7 pour OS X .

61
Mukund

C’est ainsi que j’ai eu la version 1.7 pour travailler avec Eclipse. J'espère que ça aide.

  1. J'ai téléchargé le dernier JDK OpenJDK 1.7 universel (32/64 bits) à partir de la branche Mac OS/X 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, ajoutez-en un nouveau, de type Mac OS X VM, et définissez le domicile en tant que /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home et nom. Java SE 7 (OpenJDK)
  4. Cliquez sur Terminer
  5. Définir le JRE ajouté par défaut

ça devrait être ça :)

88
vectorsize

Java 9, 10, 11

Il y a de nombreuses années, Apple a rejoint le projet OpenJDK , transférant ainsi leur code JVM spécifique à macOS, en tant que propriétaire exclusif, sous forme de code source libre gratuit. . Apple a cessé la distribution de sa propre marque JVM/JDK, en s’appuyant sur les versions de la marque Oracle pour inclure une version pour macOS.

Oracle a récemment annoncé son intention de mettre sa version JVM de marque Oracle à égalité de fonctionnalités avec le projet OpenJDK, avec pratiquement la même base de code. La compagnie a même fait don de ses outils précédemment commerciaux, Enregistreur de vol & Contrôle de mission , à le projet OpenJDK. Cela fait partie du passage à un nouveau plan de "version finale" rapide pour la gestion prévisionnelle des versions de Java et d'OpenJDK. Les délais pour les mises à jour publiques gratuites sont notamment raccourcis. Voir cette annonce 2017-09 et cette publication de Mark Reinhold .

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

  • Oracle des kits JDK et JRE, avec support optionnel.
  • Azul Systems libérant:
    • Zul ligne de machines virtuelles JVM gratuites avec support optionnel payant.
    • Zing ligne de machines virtuelles commerciales dotées de fonctionnalités spéciales telles qu'un autre collecteur de déchets.
  • Code source OpenJDK , compilation et installation personnalisables (peut-être pas pratique pour la plupart d'entre nous).

Pendant ce temps, IBM a fait don du code d'une machine virtuelle Java à la fondation Eclipse, qui fait désormais partie du projet OpenJ9 . Je me demande s'ils pourraient également prendre en charge une version de MacOS, bien qu'il soit trop tôt pour le dire.

Personnellement, j'utilise actuellement la version Zul de Java 10.0.1 d'Azul sur macOS High Sierra avec IntelliJ 2018.2 pour produire Java. applications Web avec sauvegarde Vaadin .

Installation/Enlèvement

Oracle et Azul fournissent tous deux des programmes d'installation extrêmement simples à utiliser pour installer JVM/JDK sur votre Mac. Vérifiez votre installation à l'aide du fichier 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 (et non dans votre dossier personnel):

/ Bibliothèque/Java/JavaVirtualMachines

Chaque version de chaque fournisseur se trouve là, dans un dossier imbriqué. Vous pouvez supprimer n'importe quelle installation en supprimant simplement le dossier imbriqué de cette version et en fournissant votre mot de passe système lorsque vous y êtes invité.

Java 8

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

  • Lion de montagne (10.8.3+)
  • Mavericks (10.9)
  • Yosemite (10.10)
  • El Capitan (10.11)

Chaque version de JVM que vous installez peut être trouvée ici:

/Library/Java/JavaVirtualMachines

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

Java 7

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

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

L’installation est simple grâce à 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 a quelques limitations, notamment le manque de prise en charge de Java Web Start ​​ et du Java Plugin pour les navigateurs Web. Ce soutien est attendu plus tard cette année.

Une fois l’installation terminée, lisez le fichier LisezMoi du JDK pour Mac. Si vous voulez que Java 7 soit celui par défaut, faites-le glisser en haut de la liste - Préférences Java app trouvée dans votre dossier Utilitaires.

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

/Library/Java/JavaVirtualMachines

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

Conseil: Pour démarrer Eclipse sur un Mac sur lequel seul Java 7 est installé, ouvrez le fichier 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, tel que le type "Java -version" dans Terminal.app, une boîte de dialogue apparaît et vous propose d'installer Java pour vous. Si vous acceptez, l'installation se fait automatiquement de manière similaire aux autres "Mises à jour de logiciels" d'Apple.

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

/System/Library/Java/JavaVirtualMachines

Java 6 a atteint la fin de vie avec Oracle à compter de 2013-02 (sauf si vous avez un contrat de support commercial avec Oracle). Vous devriez donc passer à Java 7 ou 8.

Tester une nouvelle version

Dans Terminal.app, tapez Java -version pour vérifier quelle version est la version par défaut.

Suppression d'anciennes versions

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


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

56
Basil Bourque

Un moyen facile 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
17
Andrew

Je sais que certains voudront peut-être me gifler d'avoir ré-ouvert un ancien message, mais si vous le souhaitez, j'espère simplement que cela pourra aider quelqu'un d'autre à essayer de configurer JDK 7 sur Mac OS (avec IntelliJ).

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

  • suivi des instructions sur port Oracle JDK7 Mac OS X pour l’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 à/Bibliothèque/Java/JavaVirtualMachines/JDK 1.7.0 Developer Preview.jdk/Sommaire/Accueil. Ne ne le confondez pas avec /Utilisateurs/YOUR_USERNAME/Library/Java/. Cela reliera 4 fichiers JAR du répertoire "lib" (dt.jar, jconsole.jar, sa-jdi.jar et tools.jar).
  • vous devez également ajouter les fichiers JAR de/Library/Java/JavaVirtualMachines/JDK 1.7.0 Developer Preview.jdk/Sommaire/Home/jre/lib (charsets.jar, jce.jar, JObjC.jar, jsse.jar, agent de gestion .jar, resources.jar et rt.jar)
9
peter_budo

Obtenir un fût

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 zulu7 fût. Zulu est une version certifiée d'OpenJDK produite par Azul Systems qui devrait exister longtemps (ils offrent même des versions JDK6).

brew cask install caskroom/versions/zulu7
7
abe312

après avoir installé 1.7jdk à partir d’Oracle, j’ai modifié mes scripts bash pour ajouter:

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

puis en cours d'exécution Java -version a montré la bonne version.

6
Dustin Getz

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

Allez dans 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 indiquer à Eclipse où vous avez installé votre JDK 1.7.

Si Eclipse ne parvient pas à trouver un JRE compatible avec la version 1.7, j'imagine qu'il utilise uniquement votre JRE par défaut et qu'il pointe probablement toujours sur Java 1.6, ce qui provoquerait des lignes rouges ondulées.

6
Jon Quarfoth

À partir du 27 avril, il existe une version officielle de Java SE 7u4. Téléchargez l’image disque et lancez le programme d’installation. le fichier lisez-moi Mac .

2
Mark

Que diriez-vous de Netbeans, voici un article sur la configuration avec NB7:

http://netbeanside61.blogspot.com/2011/06/downloading-openjdk7-binary-for-mac-os.html

Peut-être des étapes similaires pour Eclipse.

2
gzge

Ce qui a fonctionné pour moi sur Lion a été d’installer Oracle JDK7_u17, puis de modifier ~/.bash_profile pour inclure: export Java_HOME =/Bibliothèque/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Sommaire/Accueil

1
user1015892

Les instructions de peter_budo ont parfaitement fonctionné. Je devais ajouter les fichiers jar sous / Library/Java/JavaVirtualMachines/JDK 1.7.0 Developer Preview.jdk/Sommaire/Home/jre/lib / dans 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; au lieu de cela, je n'avais besoin que de pouvoir compiler et exécuter contre 1.7. Je continuerai probablement à utiliser le JRE d’Apple pour exécuter le IDE car il est probablement plus stable en ce qui concerne les routines graphiques (Swing, AWT). À l'instar de l'OP, je souhaitais vraiment tester la nouvelle API NIO2. Vous cherchez bien jusqu'ici. Merci Peter.

1
user1092781

Depuis décembre 2017, les liens précédemment publiés ne fonctionnent pas, mais JDK 7 peut toujours être téléchargé à partir des archives Oracle (connexion requise):

http://www.Oracle.com/technetwork/Java/javase/downloads/Java-archive-downloads-javase7-521261.html

1
ozren1983

J'ai mis à jour Yosemite et Android Studio ne nettoyait pas mes projets ni ne les exécutait sur un périphérique 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 des dépannages, j’ai trouvé que le fichier JDK pointé sur "/ System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home" n’y figurait pas; tous les "JavaVirtualMachines/1.6.0.jdk/Contents/Home" étaient absents de "/ System/Library/Java". J'ai donc copié "JavaVirtualMachines/1.6.0.jdk/Contents/Home" dans "/ Library/Java /" dans "/ Système/Bibliothèque/Java /" et le cha ching! J'étais de retour dans les affaires.

0
embersofadyingfire