Seite 1 von 1

Anleitung für Java 9+ und Mac OS 10.12.*

Verfasst: Di Sep 05, 2017 12:14 pm
von bonk
Moin zusammen, :)

Habe mich heute angemeldet und erfolglos versucht den sim unter Mac OS X zum laufen zu bekommen.

Da das default JDK (build 1.9.0-ea-b85) folgenden bug enthält: https://bugs.openjdk.java.net/browse/JDK-8140481 , der erst in späteren versionen gefixt ist, habe ich auf den aktuellen build (build 9+181) geupdated.

Hier gibt es allerdings einen neuen Stolperstein: Die Default Policies haben sich geändert.

Es fliegt folgende Exception:
java.lang.NoClassDefFoundError: javax/xml/ws/Service

Das liegt daran, daß in aktuellen Java Versionen die J2EE module nicht mehr defaultmäßig aktiviert sind.
Hierfür wird nun die Command Line option: "--add-modules=java.xml.ws" benötigt.


Die Lösung liegt in der .jnlp :

Man bearbeitet also die jnlp datei mit einem Texteditor und fügt die command line option hinzu:

Aus der Zeile:

Code: Alles auswählen

<j2se version="1.8+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-Dcom.sun.management.jmxremote" initial-heap-size="500M" />
wird:

Code: Alles auswählen

<j2se version="1.8+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-Dcom.sun.management.jmxremote --add-modules=java.xml.ws" initial-heap-size="500M" />
Dann läuft der Laden. 8)

Vielleicht hilft das ja jemanden, der dieselben Probleme hat.

Gruß

Re: Anleitung für Java 9+ und Mac OS 10.12.*

Verfasst: Di Sep 05, 2017 7:27 pm
von Kohletender
Servus und willkommen! Finde ich absolut Top, dass Du ein Problem angiebst, wie es abgelaufen ist und was die Lösung dafür ist und nicht nur sagst: "aber bei mir läufts jetzt".

Ich rege an, dass solche Tipps einen eigenen FAQ-Bereich bekommen, welche dann auch aktualiesiert werden können, wenn sich bezüglich der beschriebenen Problemkonstellation etwas neues ergiebt.

Re: Anleitung für Java 9+ und Mac OS 10.12.*

Verfasst: Fr Dez 13, 2019 8:44 pm
von pelzvieh
Leider ist das Problem mit Java 11 wiedergekommen, denn die JEE-Module wurden aus der Java SE entfernt: http://openjdk.java.net/jeps/320.

Ein Workaround ist mir nicht bekannt, die o.g. Website erklärt zur Abhilfe, dass die Referenzimplementierung über Maven dependency auf javaxs-ri in den Build angezogen werden soll.