01-20-2020 3:43 PM
I have done a clean install of macOS Catalina and installed the latest Java SE 13 and JavaGUI, and Eclipse.
SAPGUI works fine on it's own. Eclipse also works, I can do any ADT-Native stuff. But when Eclipse tries to open a SAPGUI tab I get an error
The system reqirements are not met.
Could not find: javafx.properties
in: /Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/lib
Your Java Virtual Machine seems not to support JavaFX, required to run the SAP
GUI for Java 7.50 rev 8.
This is the same issue as already described here: https://answers.sap.com/questions/787056/javafx-11-and-eclipse-issue.html
But when I apply the same solution Eclipse doesn't start. Running it from a terminal I can see the reason:
% ./eclipse
Error occurred during initialization of boot layer
java.lang.LayerInstantiationException: Package jdk.internal.jimage.decompressor in both module jrt.fs and module java.base
%
The path I added was the javafx in the SAPGUI installation, because it is the only one on my entire system:
% find /System/Volumes/Data -name javafx.properties 2> /dev/null
/System/Volumes/Data/Applications/SAP Clients/SAPGUI 7.50rev8/SAPGUI 7.50rev8.app/Contents/Resources/jre/Contents/Home/lib/javafx.properties
%
Any ideas?
01-21-2020 12:07 PM
Unfortunately this constellation is not possible. The SAP GUI (Java GUI) installation includes a complete JRE incl. JavaFX. This leads to issues while using this specific JavaFX version in ADT, that is based on a different JDK.
So, you have two options:
-vm
<path_to_jre_bin_of_SAPGUI>
-vmargs
...
--add-modules=ALL-MODULE-PATH
--module-path=<path_to_lib_folder_of_JavaFX>
--add-exports=javafx.web/com.sun.webkit.dom=ALL-UNNAMED
On side note: Currently, ADT is not official supporting Java 13. We are not expecting any issues, but we cannot guarantee a bug-free usage.
Best regards,
Yannic
01-21-2020 12:07 PM
Unfortunately this constellation is not possible. The SAP GUI (Java GUI) installation includes a complete JRE incl. JavaFX. This leads to issues while using this specific JavaFX version in ADT, that is based on a different JDK.
So, you have two options:
-vm
<path_to_jre_bin_of_SAPGUI>
-vmargs
...
--add-modules=ALL-MODULE-PATH
--module-path=<path_to_lib_folder_of_JavaFX>
--add-exports=javafx.web/com.sun.webkit.dom=ALL-UNNAMED
On side note: Currently, ADT is not official supporting Java 13. We are not expecting any issues, but we cannot guarantee a bug-free usage.
Best regards,
Yannic
01-22-2020 10:33 AM
Hi Yannic,
Great stuff the first option was the simplest and worked. For what it's worth, I didn't specifically go after the latest Java. 13.0.2 is what macOS Catalina refers to by default - when you first attempt to use Java it sends you to Oracle's download page for it.
To make it easier for anyone else, here are my edits:
eclipse.ini is located in
/Applications/Eclipse.app/Contents/Eclipse
It can be edited from the command line, but for those not comfortable with it, one can also right-click on the Eclipse app and select 'Show Package Contents' to open it via Finder.
I added the two lines before -vmargs:
-vm
/Applications/SAP Clients/SAPGUI/SAPGUI.app/Contents/Resources/jre/Contents/Home/bin
-vmargs
Thanks,
Mike
01-20-2021 7:23 AM
This worked for me (Big Sur)
adding -vm is not necessary, in my case it didn't even run eclipse
this should be path to javafx.properties, not just javafx
--module-path=<path_to_lib_folder_of_JavaFX>
so in my case:
--module-path=/Library/Java/JavaVirtualMachines/javafx-sdk-11.0.2/lib
01-30-2024 10:51 PM - edited 01-30-2024 10:53 PM
Update Information for Mac OS 14.3 (23D56).
---
With Java version 20, I added the JAVAFX 21.0.2 for aarch64 in
/Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/lib/javafx-sdk-21.0.2
I added in that .zshrc:
export PATH_TO_FX=/Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/lib/javafx-sdk-21.0.2/lib
After that, I tested successfully with
java --module-path $PATH_TO_FX --add-modules javafx.controls HelloFX
... and add finally in ecplipse.ini
-vmargs
[...]something else[...]
--add-modules=ALL-MODULE-PATH
--module-path=/Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/lib/javafx-sdk-21.0.2/lib
--add-exports=javafx.web/com.sun.webkit.dom=ALL-UNNAMED
Thx for previous information.