So GluonVM states that it supports Java 9 modules, and the Java 9 JavaFX API (http://docs.gluonhq.com/gluonvm/), but the sample project specifies source compatibility 1.8.
I'm confused how to setup my project in Eclipse; with source compatibilty at 8 the Gradle plugin of Eclipse will automatically select a Java 8 compatible JDK. Should I configure JDK 9.0.4 as the Java8-SDK? And then use the JavaFX 9 API (future proof code)? And do I need to specify a module-info.java? I would like to do that.
As you know, Gluon's jfxmobile plugin has two flavors for now: 1.3.15+ and 2.0.30+.
The 1.3.15+ version works on Desktop, Android and iOS with JDK 8.
The 2.0.30+ version uses Gluon VM and it works:
On Desktop under JDK 8, 9 or 10.
On Android under JDK 8, 9 or 10, but everything has to be back ported to 8. So you need Java 8 compatibility in all your dependencies. This explains why module-info is not supported.
On iOS under JDK 9 or 10. You could remove the 8 compatibility if you deploy only to iOS.
As you can see, the bottleneck here is Android, as it doesn't allow Java 9+ yet.
However, there is work in progress to get JavaFX 11+ running on Android as well, so that will bring all the platforms to the same level:
Desktop runs JavaFX 11+
Embedded runs JavaFX 11+ (see this)
Gluon VM on iOS will support JavaFX 11+
Android will support JavaFX 11+.
Related
When I was installing WAS, there was a prompt alerting me to use Java 8 by default. I aggreed, because back then it wasn't matter which version to use.
Time passed and now I have necessity to use Java 6 in one of my profiles, which is coming with the WAS by default. Since I aggreed to use newer Java, WAS working on Java 8 by default now. I searched in installation repository, but in IBM Installation Manager Java versions I need are greyed out and cannot be installed separately.
Is there a way to install Java 6 alongside Java 8 in WAS, so I could just switch between them in profiles' setting? I tried official repository for Java 6, but it is empty since IBM dropped it's support in April.
P.S. I tried to change variable JAVA_HOME in Websphere profile setting (as well as in system variables) to look at JDK 1.6 I installed separately, but then my profile refuses to start.
Java 6 is no longer supported, so the WAS Installation Manager has likely removed the option to use JDK 6. For WAS 8.5 you can use either Java 7 or Java 8.
This article talks more about Java 6 End of Support:
https://developer.ibm.com/wasdev/blog/2017/10/25/java-6-end-support/
For environments other than DEV, can I use JRE instead of JDK for JBoss EAP 7 as recommanded by Red-Hat ?
JDK and JRE both will work. With JRE some monitoring tool like jconsole,jstack,jmap,jvisualvm..etc are not available. So normally Red Hat recommend to use JDK. If you dont want to use these monitoring tool then you can go with JRE.
It's recommended to JDK while developing or testing the project, as it will give you more options.
But JRE would work fine if don't want to use other supports like monitoring tools, maven etc is not needed.
I'm trying to get ZeroMQ http://www.zeromq.org/ running with the following configuration / requirements:
OS X 10.8 with built in Java SDK 7
Java binding for ZMQ
Need to use SDK 6
Apparently jzmq was compiled with the header files of Java SDK 7, but I really need to have them compiled with the header files of SDK 6. That's because I want to use http://jmonkeyengine.org/ which currently supports only SDK 6.
So my general question is, how to get this working or maybe just a hint where to obtain the SDK 6 header files and how to compile jzmq with them.
I'm one the maintainers of the JZMQ ZeroMQ binding.
I would post an issue here: https://github.com/zeromq/jzmq/issues?state=open and I'll be sure to cut a new release soon that is built with Java6.
In order to help Java apps look more like native apps when run on Mac OS X, Apple created the Apple Java Extensions in order to make Java apps behave more like Mac OS X. These allow for things like handling the behavior of the "About" menu and supporting drag and drop onto the application icon.
However, I can't find anything indicating whether or not these extensions are included with Java 7 or even usable with Java 7. It is my understanding that Apple merged their OS X implementation into OpenJDK, but I'm not sure whether these extensions went with it. I do see that the goal for the Mac OS X port of OpenJDK aims to "Include a complete, native Cocoa-based UI Toolkit", but I can't find much about what this entails. Searching the web has not proved very fruitful and I have no idea about if they are compatible with Java 7 or are even included.
So I guess I have three questions:
Will a Mac running Java 7 be able to use the Apple Java Extensions?
Are they included in Java 7, and if not, can I download them to bundle into my app?
Are there any alternatives to these extensions that are Java 7 compatible?
Will a Mac running Java 7 be able to use the Apple Java Extensions?
Yes. They are included both in the Oracle distribution and in OpenJDK. See the second answer here below.
I can't vouch for the complete API as I only need a subset to support drag-drop behaviour on the app icon and on the app frame. I can confirm though this works as expected with OpenJDK 7. No problems on the distribution side either, as the app is on sale on the Mac App Store.
Are they included in Java 7, and if not, can I download them to bundle into my app?
They are included in OpenJDK 7, you can find the sources in /src/macosx/classes/com/apple and supported by Oracle as hinted by the messages and bug fixes readable on the macosx-port-dev mailing list.
They are also included in the Oracle distribution, unjar rt.jar to see them.
You don't have to download anything, just start using them in your editor:
Are there any alternatives to these extensions that are Java 7 compatible?
Not that I know of, but I doubt you need an alternative.
I have Java 1.5.0 installed on a Mac OS machine. I have the Java Embedding Plugin 0.9.6.4 installed and java enabled on the preferences panel. When I go to http://java.com/en/download/help/testvm.xml the applet appears blank. Does anyone has an idea of what is happening?
I have found the solution. The Java Embedding Plugin uses the installed JVM which itself gets its proxy definitions from MacOS and not from Firefox. So, proxy definitions have to be defined for both MacOS/Safari and Firefox.
I've also updated Firefox and selected Java 1.5 on the Java preferences panel. However I'm not sure if these two actions helped solve the issue.
Firefox 3.0.1 on Mac OS X 10.5 should support java applets without any extra Java Embedding Plugin.
applets that require java 1.6 don't work in mac os x, even though java 1.6 (aka java se 6) is installed and at the top of the list in the java preferences.