JavaFX used by Windows and Mac OS Desktop builds outdated.

47 views
Skip to first unread message

remon...@ordyx.com

unread,
Feb 13, 2019, 8:29:33 PM2/13/19
to CodenameOne Discussions
The Windows and Mac OS Desktop builds use JavaFX browser for the BrowserComponent.

When using the simulator the BrowserComponent supports CSS variables (var). The simulator in Windows uses JavaFX as its browser. I run the simulator on JVM version: 1.8.0_144-b01

When running the app in the Windows and Mac OS Desktop build the BrowserComponent DOES NOT support CSS variables. 

Since the BrowserComponent in both Windows and Mac OS Desktop builds use JavaFX it seems that the JavaFX version is outdated. What version of the JVM is embedded in the current Windows and Mac OS Desktop builds?

Could you please upgrade the embedded JavaFX and/or JVM version?


Shai Almog

unread,
Feb 13, 2019, 10:20:03 PM2/13/19
to CodenameOne Discussions
The desktop build uses a JDK that's packaged in the install. We need to update it but ideally we'd want to go to something much newer e.g. OpenJDK 11 with the new AoT compiler.
The challenge here is preventing the newer JDK from conflicting with older code we have on the servers so this isn't something we can pick up for this iteration.
Please file an issue and we'll try to address it for 7.0.

remon...@ordyx.com

unread,
Feb 14, 2019, 12:11:09 PM2/14/19
to CodenameOne Discussions
Shai,

When is the 7.0 release planned for?

Could you at least upgrade to JVM version 1.8.0_144-b01 or higher in the meantime since I need this in our production environment as soon as possible.

Shai Almog

unread,
Feb 14, 2019, 11:15:17 PM2/14/19
to CodenameOne Discussions
When I say version 7.0 it's a full timeline which starts in March and is currently planned to end in June. It's not a specific date. We can try and aim to an earlier stage in the cycle but make sure to remind us.
We won't make a change to server setup this close to the release. Past experience has shown that changes to this are very volatile and can cause serious regressions.
As a workaround you can send a build with include source and then package that project locally using netbeans 8.x.

remon...@ordyx.com

unread,
Feb 15, 2019, 8:46:51 AM2/15/19
to CodenameOne Discussions
Do you have documentation on how to package locally?

Shai Almog

unread,
Feb 16, 2019, 12:27:00 AM2/16/19
to CodenameOne Discussions
We use javafxpackager which was later renamed javapackager. It's available in the right click menu in the downloaded sources but you need some installs to get it working.
Just google these to find the Oracle and 3rd party documentation

remon...@ordyx.com

unread,
Feb 20, 2019, 2:19:37 PM2/20/19
to CodenameOne Discussions
Shai,

I am running into issues where the javapackager builds the EXE however then when installing the EXE I get the following error: "Failed to find library: jvm.dll".

The whole point of us using CN1 is to not have to look into these platform specific issues. Please upgrade your JDK to at least 1.8.0_144-b01 so we can get CN1 to work as it should.

Shai Almog

unread,
Feb 20, 2019, 10:06:08 PM2/20/19
to CodenameOne Discussions
The JVM works as it should. You are having an issue with a specific feature within the browser in JavaFX.
You informed us of this issue at a point in time that's too close to the release cycle. To avoid risk that would impact all users of this feature this was postponed until after the release.

You're experiencing issues with the workaround which might help clarify why we don't instantly change the JVM as things like this tend to happen. As you can see there's a JVM bug related to this: https://stackoverflow.com/questions/49455712/failed-to-find-library-jvm-dll-whats-going-on-here

remon...@ordyx.com

unread,
Feb 21, 2019, 10:09:28 AM2/21/19
to CodenameOne Discussions
Understood. When is the 6.0 release scheduled for?

I hope you could please make the upgrade of the JVM to at least version 1.8.0_144 your number one priority after the release of 6.0, so this can be released as an interim release before 7.0 goes out.

Shai Almog

unread,
Feb 21, 2019, 10:51:47 PM2/21/19
to CodenameOne Discussions
I suggest following the blog as it's all announced there. We are currently in code freeze which we entered on the 20th. It's for one week until the 27th.
We can address this early March. I think a better option would be something like https://www.azul.com/downloads/zulu/zulufx/

remon...@ordyx.com

unread,
Feb 22, 2019, 8:28:24 AM2/22/19
to CodenameOne Discussions
Early March would be fine. Thank you.

remon...@ordyx.com

unread,
Mar 12, 2019, 10:31:45 AM3/12/19
to CodenameOne Discussions
Any updates on this?

Shai Almog

unread,
Mar 12, 2019, 11:27:50 PM3/12/19
to CodenameOne Discussions
We're working on it but as suspected it's harder than just switching the JDK implementation.
We added new build hints:

win.desktop-vm=zuluFx8
mac.desktop-vm=zuluFx8

The Windows version seems to work. I haven't testing it other than checking that it compiled.
The mac version doesn't seem to work, the problem relates to the horrible support for multiple JDKs on Mac OS. This is something we'll need to dig into and it might make more sense to target version 11 instead of 8.
Message has been deleted

remon...@ordyx.com

unread,
Mar 13, 2019, 9:00:59 AM3/13/19
to CodenameOne Discussions
Shai,

How can I test the changes you made to make sure this fixes the issue?

Shai Almog

unread,
Mar 13, 2019, 11:07:39 PM3/13/19
to CodenameOne Discussions
On Mac this won't compile yet. As I mentioned this is a problem. On Windows just define the build hint, it should use the ZuluFX SDK instead of the default SDK.

remon...@ordyx.com

unread,
Mar 14, 2019, 1:34:05 PM3/14/19
to CodenameOne Discussions
I used the build hint and when I look at the installed app inside the jfxswt.jar manifest.mf is see the following: 
 
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.8.0_40-b27 (Oracle Corporation) 


So It did not seem to update the JavaFX library.



rt.jar manifest.mf:

Manifest-Version: 1.0
Implementation-Vendor: Oracle Corporation
Implementation-Title: Java Runtime Environment
Implementation-Version: 1.8.0_112

Shai Almog

unread,
Mar 14, 2019, 11:20:58 PM3/14/19
to CodenameOne Discussions
Ugh. This is much harder than I feared. I've been banging my head against it and see no choice other than completely rewriting the desktop build process. That could take some time.

remon...@ordyx.com

unread,
Mar 19, 2019, 3:46:44 PM3/19/19
to CodenameOne Discussions
Any luck?

Shai Almog

unread,
Mar 19, 2019, 11:32:25 PM3/19/19
to CodenameOne Discussions
No. This will take a while. The bottom line is that we need to rewrite the entire approach for packaging the application. That will take some time.
Reply all
Reply to author
Forward
0 new messages