Ich möchte die WatchService-API wie in diesem Link erwähnt verwenden: http://download.oracle.com/javase/tutorial/essential/io/notification.html
Nachdem ich mich umgesehen hatte, stellte ich fest, dass WatchService Teil der NIO-Klasse ist, die für JDK 7 geplant ist. Es handelt sich also um eine Beta-Klasse. Das ist gut.
http://jdk7.java.net/download.html enthält das JDK, das ich heruntergeladen und extrahiert habe. Ich habe ein paar Ordner. Ich weiß nicht, was ich mit ihnen anfangen soll.
Dann las ich noch etwas herum und stellte fest, dass eine nette Gruppe von Leuten JDK 7 als Binärdatei erstellt hat, damit jemand wie ich es einfach installieren kann. Es heißt Open JDK: http://code.google.com/p/openjdk-osx-build/
Also habe ich die .dmg-Datei heruntergeladen und installiert. Dann öffne ich "Java Preference" und sehe, dass OpenJDK7 verfügbar ist.
Jetzt habe ich das Gefühl, dass ich die WatchService-API ausprobieren kann. Aus dem Tutorial im ersten Link gab der Autor eine Java-Datei an, um sie zuerst zu testen und sicherzustellen, dass sie ausgeführt wird. Hier ist der Link zur Datei: http://download.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java
Also starte ich Eclipse (eigentlich verwende ich STS) und erstelle ein neues Java-Projekt und wähle JaveSE-1.7 in "JRE verwenden einer Ausführungsumgebung:". Unter dem Ordner src habe ich die Datei WatchDir.java kopiert und eingefügt.
Und ich sehe immer noch Tonnen von roten Linien. Alle "import.java.nio. *" Sind rot und ich kann es nicht als Java-App ausführen.
Was muss ich tun?
Antworten:
Oracle hat JDK 7 für OS X veröffentlicht .
quelle
/Library/Java/JavaVirtualMachines/1.7.0.jdk
"Java SE 7" ausführen und auf der Registerkarte "Allgemein" an den Anfang der Liste ziehen musste, damit Anwendungen Java 1.7 von Oracle zugunsten von Java 1.6 von Apple verwenden . Dies verweist auchjavac
auf die Java 1.7-Version, wenn das Terminal ausgeführt wird.So habe ich 1.7 dazu gebracht, mit Eclipse zu arbeiten. Ich hoffe, es hilft.
das sollte es sein :)
quelle
Java 9, 10, 11
Vor Jahren trat Apple dem OpenJDK- Projekt bei und übertrug seinen ehemals proprietären macOS-spezifischen JVM-Code als kostenloses Open Source. Apple stellte den Vertrieb seiner eigenen Marke JVM / JDK ein und stützte sich auf die Markenversionen von Oracle, um eine Version für macOS aufzunehmen.
Oracle hat kürzlich angekündigt, seine JVM-Version der Marke Oracle auf Parität mit dem OpenJDK-Projekt mit praktisch derselben Codebasis zu bringen. Das Unternehmen spendete sogar seine zuvor kommerziellen Tools Flight Recorder & Mission Control für das OpenJDK-Projekt. Dies ist Teil der Umstellung auf einen neuen Schnellplan für die vorhersehbare geplante Versionierung von Java und OpenJDK. Insbesondere werden die Fristen für kostenlose öffentliche Updates jetzt verkürzt. Siehe diese Ankündigung 2017-09 und diesen Beitrag von Mark Reinhold .
Infolgedessen haben MacOS-Benutzer von Java die Wahl zwischen verschiedenen Anbietern für eine Java-Implementierung. Derzeit basieren mindestens drei Quellen auf OpenJDK für macOS:
In der Zwischenzeit spendete IBM Code für eine JVM an die Eclipse Foundation, die jetzt im OpenJ9- Projekt enthalten ist. Ich frage mich, ob sie möglicherweise auch eine MacOS-Version unterstützen, obwohl es noch zu früh ist, dies zu beurteilen.
Persönlich verwende ich derzeit die Zulu- Version von Java 10.0.1 von Azul unter macOS High Sierra erfolgreich mit IntelliJ 2018.2, um Java-gestützte Webanwendungen mit Vaadin zu erstellen .
Einbau / Ausbau
Sowohl Oracle als auch Azul bieten äußerst benutzerfreundliche Installationsprogramme für die Installation von JVM / JDK auf Ihrem Mac. Überprüfen Sie Ihre Installation, indem Sie die Datei Terminal.app (oder eine gleichwertige Datei) eingeben und ausführen:
Sie finden die Java-Installationen in diesem Ordner im Stammverzeichnis Ihres Laufwerks (nicht in Ihrem Basisordner):
Jede Version von jedem Anbieter befindet sich dort in einem beschrifteten verschachtelten Ordner. Sie können jede Installation einfach löschen, indem Sie den verschachtelten Ordner für diese Version löschen und Ihr Systemkennwort eingeben, wenn Sie dazu aufgefordert werden.
Java 8
Sie können das Java Development Kit (JDK) für Java 8 für die unterstützten Versionen von Mac OS X herunterladen :
Jede von Ihnen installierte Version von JVM finden Sie hier:
Weitere Anweisungen und häufig gestellte Fragen finden Sie in diesem Oracle-Handbuch .
Java 7
Für jede Version von Java 7 seit Update 4 wurde neben den anderen Plattformen eine Mac-Version bereitgestellt. Läuft auf Macs mit 64-Bit-Hardware unter Lion (10.7.3+), Mountain Lion (10.8.3+) und Mavericks (10.9.x).
Oracle kündigte die offizielle Veröffentlichung des JDK für Java SE 7 Update 4 unter Mac OS X (Lion) am 26.04.2012 an. Die auf dieser Seite beschriebenen Tricks sind nicht mehr erforderlich .
Die Installation ist gemäß diesen Anweisungen einfach :
Diese Version weist einige Einschränkungen auf, insbesondere die mangelnde Unterstützung für Java Web Start und das Java Plugin für Webbrowser. Diese Unterstützung wird später in diesem Jahr erwartet.
Lesen Sie nach der Installation das JDK für Mac ReadMe. Wenn Sie möchten, dass Java 7 die Standardeinstellung ist, ziehen Sie es vor allem an den Anfang der Liste in der Java-Einstellungen- App, die sich in Ihrem Dienstprogrammordner befindet.
Mac OS X unterstützt problemlos mehrere JVMs gleichzeitig. Jeder ist jetzt hier zu finden:
Herzlichen Glückwunsch an die Apple & Oracle-Teams zu ihrer Leistung. Dieser Geek wird begeistert sein, wenn Mac OS X als " Certified System Configuration " aufgeführt wird.
Tipp: Zum Starten von Eclipse auf einem Mac mit Java nur 7 installiert ist , öffnen Sie die Alias - Datei mit dem Namen Eclipse statt der Datei mit dem Namen Eclipse.app .
Java 6
Apple bietet weiterhin eine aktuelle Implementierung von Java 6 für alle Versionen von Mac OS X über Mountain Lion an.
Wenn Sie etwas tun, für das Java erforderlich ist, z. B. "java -version" in Terminal.app eingeben, wird ein Dialogfeld angezeigt, in dem Sie Java für Sie installieren können. Wenn Sie zustimmen, erfolgt die Installation automatisch ähnlich wie bei anderen "Software-Updates" von Apple.
An dieser Stelle ist Java installiert, anders als in Java 7 und 8:
Java 6 hat mit Oracle ab 2013-02 das Ende seiner Lebensdauer erreicht (es sei denn, Sie haben eine kommerzielle Supportvereinbarung mit Oracle). Sie sollten also auf Java 7 oder 8 umsteigen.
Neue Version testen
Geben Sie in Terminal.app ein, um
java -version
zu überprüfen, welche Version die aktuelle Standardeinstellung ist.Alte Versionen löschen
Nach der Installation einer neuen Version möchten Sie möglicherweise den oben beschriebenen Ordner besuchen, um alte Versionen zu löschen. Verschieben Sie den Ordner in den Papierkorb und geben Sie Ihr Systemkennwort ein, um den Umzug abzuschließen.
Übrigens bietet Apple eine Mailingliste für technische Probleme von Entwicklern im Zusammenhang mit Java unter OS X an.
quelle
/System/Library/Java/JavaVirtualMachines
enthält nur Java 6 JDK./Library/Java/JavaVirtualMachines
(nicht/System
). (b) Haben Sie die Installationsdokumente von Oracle gelesenReadMe
und eingestellt,Preferences
wie in meiner obigen Antwort beschrieben?Eine einfache Möglichkeit, Java 7 auf einem Mac zu installieren, ist die Verwendung von Homebrew dank des Homebrew Cask- Plugins (das jetzt standardmäßig installiert ist).
Führen Sie diesen Befehl aus, um Java 7 zu installieren:
quelle
caskroom/versions
veraltet? Es ist definitiv hier: github.com/caskroom/homebrew-versions/blob/master/Casks/…brew tap caskroom/versions
bevor Sie den Installationsbefehl ausführenHol das Fass
Java7 installieren:
(Ich hatte Schwierigkeiten, den Download-Link von Java7 auf der Oracle-Website zu finden, da sie Java8 nur "empfehlen")
EDIT Januar 2018 (wie von Ankur angegeben ):
Verwenden Sie das Zulu7- Fass. Zulu ist eine zertifizierte Version von OpenJDK, die von Azul Systems hergestellt wird und für eine lange Zeit verfügbar sein sollte (sie bieten sogar noch JDK6-Builds an).
quelle
Ich weiß, dass einige mich vielleicht dafür schlagen wollen, dass ich einen alten Beitrag wieder geöffnet habe, aber wenn Sie das glauben, hoffe ich nur, dass dies jemand anderem hilft, der versucht, JDK 7 unter Mac OS (mit IntelliJ) einzustellen.
Was ich getan habe, um dies auf meiner Maschine zum Laufen zu bringen, ist:
quelle
Möglicherweise müssen Sie das JDK noch zu Eclipse (STS) hinzufügen. Nur weil sich das JDK auf dem System befindet, bedeutet dies nicht, dass Eclipse weiß, wo es zu finden ist.
Gehen Sie zu Einstellungen> Java> Installierte JREs
Wenn für das 1.7 JDK kein Eintrag vorhanden ist, fügen Sie ihn hinzu. Sie müssen Eclipse darauf verweisen, wo Sie Ihr 1.7 JDK installiert haben.
Wenn Eclipse keine JRE finden kann, die mit 1.7 kompatibel ist, wird vermutlich nur Ihre Standard-JRE verwendet, und das zeigt wahrscheinlich immer noch auf Java 1.6, was zu Ihren roten, schnörkellosen Linien führen würde.
quelle
Nach der Installation von 1.7jdk von Oracle habe ich meine Bash-Skripte geändert, um Folgendes hinzuzufügen:
und dann lief
java -version
die richtige Version.quelle
Wie wäre es mit Netbeans? Hier ist ein Artikel, wie man es mit NB7 einrichtet:
http://netbeanside61.blogspot.com/2011/06/downloading-openjdk7-binary-for-mac-os.html
Vielleicht ähnliche Schritte für Eclipse.
quelle
Ab dem 27. April gibt es eine offizielle Oracle-Version von Java SE 7u4. Laden Sie das Disk-Image herunter und führen Sie das Installationsprogramm aus . Lesen Sie dann die Mac-Readme-Datei .
quelle
Ab Dezember 2017 funktionieren zuvor veröffentlichte Links nicht mehr, JDK 7 kann jedoch weiterhin aus dem Oracle-Archiv heruntergeladen werden (Anmeldung erforderlich):
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
quelle
Die Anweisungen von peter_budo haben perfekt funktioniert. Ich musste die Gläser unter / Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home / jre / lib / zu meinen IntelliJ-Projektbibliotheken hinzufügen . Jetzt funktioniert es wie ein Zauber. Beachten Sie, dass ich meine IDE selbst nicht brauchte, um unter 1.7 zu laufen. Vielmehr musste ich nur in der Lage sein, 1.7 zu kompilieren und auszuführen. Ich werde höchstwahrscheinlich weiterhin Apples JRE zum Ausführen der IDE verwenden, da diese in Bezug auf Grafikroutinen (Swing, AWT) wahrscheinlich stabiler ist. Wie beim OP war ich sehr daran interessiert, die neue NIO2-API zu testen. Sieht soweit gut aus. Danke, Peter.
quelle
Bei Lion funktionierte das JDK7_u17 von Oracle aus und bearbeitete dann ~ / .bash_profile so, dass es Folgendes enthielt: export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.7.0_13.jdk / Contents / Home
quelle
Ich habe auf Yosemite aktualisiert und Android Studio hat meine Projekte aufgrund des folgenden Fehlers nicht bereinigt oder auf einem virtuellen oder realen Gerät ausgeführt:
Nach einigen Recherchen und Fehlerbehebungen stellte ich fest, dass die JDK-Datei, auf die unter "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home" verwiesen wurde, nicht vorhanden war. In "/ System / Library / Java" fehlten alle "JavaVirtualMachines / 1.6.0.jdk / Contents / Home". Also habe ich "JavaVirtualMachines / 1.6.0.jdk / Contents / Home" von "/ Library / Java /" nach "/ System / Library / Java /" kopiert und ch ching! Ich war wieder im Geschäft.
quelle
Verwenden Sie jetzt den Befehl Verwenden
Update 2020: 04
So installieren Sie Java7 mit Homebrew:
Ich hoffe das hilft.
quelle