Wie man Apple Java Extensions (com.apple.eawt) Arbeit auf JDK 7 und höher?
TL;DR: Apple gesunken native feature-Unterstützung in Java. Vor allem die touchpad-gesten funktionieren nicht mehr. Ich schrieb eine Bibliothek, die nicht den job mittels JNI. Werfen Sie einen Blick auf meine Antwort unten.
Ich bin auf der Suche nach etwa Stunden, um die Apple Java Extensions arbeiten auf JDK 7 oder 8. Ich habe versucht seit ich denken kann. Alle threads, die auf das internet über diese einfach die Schuld der JDK für diese. Ich denke, das sollte lösbar sein, denn es funktionierte in JDK 6. Zur Klarheit: ich kann in der JDK 6, aber ich will nicht, dass dieses Vermächtnis Abhängigkeit, weil nicht jeder, dass Sie meine Bewerbung JDK 6 oder weiß wie es zu installieren, lassen Sie ' s sagen. Das Ziel ist eine doppelte-clickable JAR Datei, die ausgeführt wird, wie erwartet, mit der OS X-Funktionen (Menüleiste, gesten, über-handler, etc...) mit jeder version von Java installiert haben (mehr als JDK 6).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit der developer preview-Version von OS X, El Capitan, wurde es unmöglich für 99% der Durchschnittliche computer-Nutzer zu installieren Java 6-das war also keine option mehr für mich. Ich schließlich beschlossen, schreiben Sie eine native Bibliothek, die zur Information über Java-gesten über JNI. Das Projekt funktioniert Super und ist gehostet bei GitHub.
Werfen Sie einen Blick auf das hier:
https://github.com/mcourteaux/MultiTouch-Gestures-Java
Ich bin nur zufällig über deine Frage und stellte fest, dass es nicht doch beantwortet worden. Ich habe ein Java-Programm, das ich entwickeln auf dem Mac, und darauf hingewiesen, dass, wenn ich lief es unter Java 7, die Menüleiste, Einstellungen, Beenden und Über alle arbeiteten gut mit rt. jar in den Programm-Ordner "libraries" und mit einem MacAppMenuHandler Klasse, die ich schrieb, um die Funktionalität für die Elemente.
Jedoch, wenn ich wechselte zu Java 8, dass Sie nicht mehr funktionierte. Ich bin mir nicht sicher, was das Problem ist allerdings das Lesen anderer Webseiten, auf die Sie heute vorschlagen, eine "Rechte" - Problem in Java 8 in Bezug auf diese Dateien.
Jedoch löste ich das problem durch kopieren der rt. jar aus Java 7 in den Programm-Bibliotheken, und es hat weiterhin für mich zu arbeiten, während weiterhin entwickeln Sie unter Java 8.
Ich schlage vor, dies als eine mögliche Lösung für das problem.
Hoffe, das hilft.
if (System.getProperty("mjr.version") != null)
und dann habe ich die OS-X-tweaks. Nur das entfernen der Zustand behoben... Dies ist eine Unverträglichkeit mit Java 7. Nun, nur die gesten funktionieren nicht.Gehen Sie auf Eigenschaften, und wählen Sie Java Build Path-Libraries, deine JRE System Library sollte ein Access-Regeln Feld wie im Bild dargestellt
Drücken Sie die Schaltfläche Bearbeiten, und fügen Sie eine Zugriffsregel, die Zugriff auf die com.apple.eawt Paket.
Ich hatte das gleiche problem mit "pinch to zoom" - funktioniert es in java 6, aber nicht 7 oder 8. Ich kam in dieser Fehler in dem jdk, das scheint verantwortlich zu sein. Er sagt, es ist behoben, die in Java 9.