Θέλω να κάνω προγραμματισμό με το τελευταίο JavaFX, το οποίο απαιτεί Java 8. Χρησιμοποιώ το IntelliJ 13 CE και το Mac OS X 9 Mavericks. Έτρεξα τον εγκαταστάτη Java 8 της Oracle και τα αρχεία φαίνονται σαν να κατέληξαν στη διεύθυνση
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
αλλά οι προηγούμενες εκδόσεις βρίσκονται στη διεύθυνση
/System/Library/Java/JavaFrameworks/jdk1.6....
Δεν είμαι σίγουρος γιατί ο τελευταίος εγκαταστάτης το τοποθετεί στο /Library
αντί στο /System/Library
(ούτε ποια είναι η διαφορά). Αλλά το /usr/libexec/java_home
δεν βρίσκει την 1.8, οπότε όλες οι δημοσιεύσεις που βρήκα για το πώς να ορίσετε την τρέχουσα έκδοση της java δεν λειτουργούν. Δοκίμασα να προσθέσω έναν συμβολικό σύνδεσμο για να φαίνεται ότι η 1.8 βρίσκεται στη διαδρομή /System/Library...
, αλλά δεν βοηθάει. Το /usr/libexec/java_home -V
εξακολουθεί να παραθέτει μόνο την παλιά Java 1.6.
Κατά ειρωνεία της τύχης, ο πίνακας ελέγχου "Java" στις Προτιμήσεις συστήματος δείχνει μόνο την Java 1.8!
Γιατί ο εγκαταστάτης της Oracle δεν την τοποθετεί εκεί που πραγματικά ανήκει; Και πώς μπορώ να παρακάμψω αυτό το πρόβλημα;
Η Oracle έχει κακή φήμη όσον αφορά την εύκολη εγκατάσταση και διαμόρφωση της Java, αλλά χρησιμοποιώντας το Homebrew, το τελευταίο OpenJDK (Java 13) μπορεί να εγκατασταθεί με:
brew cask install java
Για τις πολλές περιπτώσεις χρήσης που εξαρτώνται από μια παλαιότερη έκδοση (συνήθως Java 8), το έργο AdoptOpenJDK το καθιστά εφικτό με ένα επιπλέον βήμα.
brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8
Οι υπάρχοντες χρήστες του Homebrew μπορεί να αντιμετωπίσουν το Error: Cask adoptopenjdk8 exists in multiple taps
λόγω προηγούμενων λύσεων με διαφορετικές οδηγίες. Αυτό μπορεί να λυθεί με τον πλήρη προσδιορισμό της τοποθεσίας με brew cask install adoptopenjdk/openjdk/adoptopenjdk8
.
Έχω εφαρμογές που χρησιμοποιούν τόσο τη Java 7 όσο και τη Java 8 και πρέπει να πηγαίνω συνέχεια μπρος-πίσω.
Χρησιμοποιώ αυτό το σενάριο που έγραψε ο Johan:
http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/
Μπορείτε τώρα να το ορίσετε κατά την εκκίνηση ή να καλέσετε το σενάριο στη συνέχεια.
Εγκαταστήστε το JDK για Mac.
Java 7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Java 8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Είχα επίσης το ίδιο πρόβλημα. Αλλά μετά από λίγο χτύπημα και δοκιμή, κατάφερα να επιλύσω το πρόβλημα.
Δοκιμάστε να αφαιρέσετε το sdk 1.6 με sudo rm και επανεκκινήστε το mac σας.
Κατεβάστε ξανά το αρχείο .dmg. Οι πιθανότητες είναι ότι το πρόγραμμα εγκατάστασης .dmg που κατεβάσατε, μπορεί να είναι κατεστραμμένο. Εγκαταστήστε ξανά.
Εκτελέστε την ακόλουθη εντολή μετά την εγκατάσταση. Δίνει τη διαδρομή για το jdk 8. /usr/libexec/java_home -v 1.8
Επίσης μπορείτε να εκτελέσετε και να δείτε το φάκελο jdk 8. Τα αρχεία μπορεί να είναι κρυμμένα. ls -al /Library/Java/JavaVirtualMachines/