Ich spielte mit DMelt 2.1 in http://jwork.org/dmelt/ und habe festgestellt, dass ich die Groovy-Konsole nicht mit JDK9 starten kann (unter Ubuntu 17.08 , x64, JDK Build 9.0.1 + 11). Dann bemerkte ich, dass JDK9 eine Menge Warnungen selbst wirft, wenn das Original „groovyConsole“ aus dem groovy-2.6.0-alpha-2-Paket von der Website Apache mit http://groovy-lang.org/:Fehler: ungültige Zeichenkettenkonstante "murrine-scrollbar", erwartete gültige Zeichenkettenkonstante während der Ausführung der groovigen Konsole mit Java9
groovy-2.6.0-alpha-2/bin/groovyConsole WARNING: Using incubator modules: jdk.incubator.httpclient WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file://Download/groovy-2.6.0-alpha-2/lib/groovy-2.6.0-alpha-2.jar) to method java.lang.Object.finalize() WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Gtk-Message: Failed to load module "overlay-scrollbar" /usr/share/themes/Ambiance/gtk-2.0/apps/mate-panel.rc:30: error: invalid string constant "murrine-scrollbar", expected valid string constant
Wie dies behoben werden kann? Ich habe keine Probleme bei der Verwendung von JDK 1.8.
Zusätzlich denen nur Warnungen für Java9 sind. Ihr tatsächlicher Fehler in den Protokollen könnte die [Gtk-Meldung darin] sein (https://bugs.launchpad.net/ubuntu/+source/ubuntu-themes/+bug/1723422). – nullpointer
Nur um hinzuzufügen, [Java9 verwendet standardmäßig GTK + 2] (https://docs.oracle.com/javase/9/whatsnew/toc.htm#JSNEW-GUID-983469B6-9BB5-48CA-B71D-8D7012B2F3CA) wenn nicht verfügbar, schlägt die Weiterleitung an GTK + 3 fehl. * Um eine bestimmte Version von GTK + zu verwenden, legen Sie die Systemeigenschaft jdk.gtk.version fest. Diese Systemeigenschaft kann den Wert 2, 2.2 oder 3 haben. Sie müssen diese Eigenschaft festlegen, bevor Ihre Anwendung GTK + lädt, und sie darf nicht mit einer GTK + -Version in Konflikt stehen, die möglicherweise zuvor von einem anderen Toolkit geladen wurde. * – nullpointer
Dieses Verhalten unterscheidet sich von JDK8, die GTK-Versionen nicht interessiert? – user7975996