Skip to content

Feature-Request: Use Java from PATH if no JVM is configured #654

Open

Description

@AlBundy33

I've seen this in IcedTea-Web - there you have not to set a specific Path to a JRE/JDK.

So it would be nice if OWS would support this too.

This is related to #653

With this two Feature-Requests IT departments could Install OWS and some JDK/JRE and do not have to configure OWS.
Currently they have to manually disable JVM download and set the path to the installed JVM and also have to update the path to the JVM after each JRE-Update.

I know that they can create deployment.properties but to be honest must of the IT departments only want to "install" the software without any special configuration.

Activity

  1. janakmulani commented on May 4, 2026

    @janakmulani
    Contributor

    Just to understand your requirement:
    Are you saying that if OWS does not find a matching JVM to the one specified in the JNLP file and if the ows.jvm.manager.updateStrategy=NO_REMOTE then it should use the JVM specified in the environment variable PATH (only if it matches the one specified in the Jnlp file), and if it finds no matching JRE in the PATH then only it should throw "No Matching JVM Found" error, is this understanding correct?

  2. AlBundy33 commented on May 4, 2026

    @AlBundy33
    Author

    Exactly.

    I've seen ows.jvm.manager.searchLocalAtStartup which seems also to work.

    • Install OWS, and some JDK.
    • start a jnlp
      -> works
    • deinstall JDK and install another
    • start jnlp
      -> works

    OWS Settings shows the installed Java in both cases.

    But I'm not sure if this is the same behavior as in ITW. 🤔

  3. janakmulani commented on Jun 9, 2026

    @janakmulani
    Contributor

    @AlBundy33 would it be sufficient to take the JRE from JAVA_HOME instead of from PATH?

  4. AlBundy33 commented on Jun 9, 2026

    @AlBundy33
    Author

    Thats a good question.
    Setting JAVA_HOME is optional during installation of Eclipse Temurin (haven't checked other vendors).

    And what would users expect if they have JAVA_HOME set to java 11 and in PATH java 21?
    I would expect that java 21 is used because this is shown if I run java -version on command line.

    The idea behind this feature request is, that users and admins can install java and ows without to modify any settings to run webstart applications.

    This is importand in corporate environments where only specific applications are allowed.

    Currently admins have to install the java of their choice, install ows, point ows to the installed java and disable jvm-auto-download in ows.

    Out of experience a lot of admins are having trouble to integrate this steps in their software deployment.

  5. janakmulani commented on Jun 9, 2026

    @janakmulani
    Contributor

    @AlBundy33 Thanks for the rationale behind the feature request to take the JVM from the PATH variable. will consider it for the coming release.

  6. janakmulani commented on Jun 16, 2026

    @janakmulani
    Contributor

    @AlBundy33 I had a look at IcedTeaweb. ITW launcher scripts looks for the JVM in 3 places: deployment.properties, JAVA_HOME or PATH. OWS is more sophisticated, For a fresh installation, the default JVM update strategy ows.jvm.manager.updateStrategy = ASK_FOR_UPDATE_ON_LOCAL_MATCH and ows.jvm.manager.searchLocalAtStartup = false. Therefore, OWS does not look for a local JVM and instead downloads a remote JVM with latest update (Java 21) from the JVM server. For a newly installed OWS to behave like ITW, i.e. for it take the JVM from PATH or JAVA_HOME, the local search can be expanded to look for the JVM path in those env vars, however the default value of ows.jvm.manager.searchLocalAtStartup = false prevents it from doing the local search. The feature you are requesting needs further consideration of combination of default values of properties ows.jvm.manager.updateStrategy and ows.jvm.manager.searchLocalAtStartup. Hence, we will postpone it to a future release. For now your could set ows.jvm.manager.searchLocalAtStartup = true and ows.jvm.manager.customSearchLocation = in response.varfile, such that the freshly installed OWS will look for a locally installed JVM in the custom path specified in the deployment.properties file and use it if it matches the one specified in the Jnlp file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions