karakun / OpenWebStart

Run Web Start based applications after the release of Java 11
https://openwebstart.com
Other
420 stars 48 forks source link

Openwebstart does not use other installed jdk #205

Closed btreut closed 4 years ago

btreut commented 4 years ago

Testing fixed issue #142, I was now able to add my JVM, which is ojdkbuild (see ojdkbuild on github). It is listed twice in the JVM Manager. Apparently the JVM Manager adds both java.exe files from the jdk/bin and jre/bin paths as different installed versions. Is this deliberate or just by incident?

I am using ojdkbuild since it was the only version I found about two years ago when I was searching for JNLP/webstart support. It provides JNLP/webstart support in their MSI installer. I m trying OpenWebstart sinc some of our users have problems with their proxy settings, which I was unable to fix with ojdkbuild and ojdkbuild is missing something like the java console completely (despite it is provided somehow in the netx.jar file).

When I disable the AdoptOpenJDK 11.0.4 and the ojdkbuild jre instance in the JVM Manager and try to force OpenWebstart to use my 1.8.0_232 ojdkbuild, I have to skip a "Runtime Update" dialog box, which offers me to download 11.0.5 (Zulu Community Edition) and the java console log shows me surprisingly that it uses a 1.8.0_212 version. Digging a bit deeper, I find that OpenWebstart brings its own (embedded) AdoptOpenJDK 1.8.0_212 and uses that one instead of my ojdkbuild 1.8.0_232 instance.

What goes wrong here or what am I doing wrong? Why is the manually added JVM not used?

When I switch back to opening JNLP files from "javaws 1 (Standard)" to "ojdkbuild WebStart Launcher" everything starts as expected.

AndreasEhret commented 4 years ago

when you add a local JVM with JVM manager, OWS searches for a java executable from the directory you choose. If your Java installation folder you select contains a /bin and a /jre, it will find two executables and list both. If you want only the /jre, just choose these folder in your local Java installation and it will add just the executable of the /jre. You can remove JVMs added to the JVM manager at any time by using the "..." menu.

btreut commented 4 years ago

@AndreasEhret: thanks, I thought that I can delete it. But as I already noted, I disabled already both, the 11.04 and the jre version, but the problem that my added JVM is not used and the OpenWebstart built-in 1.8.0_212 AdoptOpenJDK version is used still remains.

AndreasEhret commented 4 years ago

OWS does have its own JVM to run itself. To run the JNLP apps it uses the JVM as specified in the JVM Manager and as requested in the JNLP files.

To prevent OWS to check for newer version ("Runtime Update" dialog) change the Settings in JVM Manager:

In your list of JVMs in your JVM Manager ensure that the expected JVM is active and others are deactived.

sclassen commented 4 years ago

Also be aware, the OWS only supports <application-desc> if your jnlp contains a <applet-desc> it will fallback to pure icedtea-web and always use the embedded jvm.

btreut commented 4 years ago

As I wrote, I disabled the 11.0.5 AdoptOpenJDK and the ojdkbuild jre version in JVM manager and left the ojdkbuild jdk version active, but the log implies that my JNLP application is run with the embedded runtime amd not with the ojdkbuild runtime.

btreut commented 4 years ago

Also be aware, the OWS only supports <application-desc>

I just re-checked, the JNLP contains an <application-desc> no <applet-desc> I have packed and appended it here: qisfsv3t.zip

The JVM-Manager looks like this:JVM-Manager. As can be seen, I installed in the afternoon yesterday (after my original post) the update to ojdkbuild 1.8.0_242.

AndreasEhret commented 4 years ago

Could you show us also the settings (Einstellungen). Is vendor set to "*"?

btreut commented 4 years ago

here we are: JVM-Manager-settings

and finally, for a single contact with the providing web-page, I see two different consoles and corresponding logfiles for the start of the JNLP application. One apparently starting the netx jar and one starting my JNLP application. In the latter the correct JVM is used, i.e my ojdkbuild 1.8.0_242. I gues I must have been mislead yesterday by the first console log.

So I think my issue was a false alarm, please accpet my apologies.