Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-6003

Drastically reduce JAVA_HOME discovery code

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.3.9
    • Fix Version/s: 3.5.0-alpha-1, 3.5.0
    • Component/s: Command Line
    • Labels:
      None

      Description

      Our installation documentation several times requires that JAVA_HOME is set and points to a valid JDK. Though, tens of lines in mvn and mvn.cmd perform some magic to discover it when it is not set. This completely contradicts our requirement that JAVA_HOME must be set.

      We can drastically reduce this code by checking if JAVA_HOME is set and use it, if not perform which java and use that to run Maven. Not adhering to our requirements is deemed to undefined behavior. A developer must be able to set this simple env var properly. In most cases on Unix/Linux OpenJDK is installed anyway which means that which java points to a JDK anyway. For instance, the JAVA_HOME discovery on FreeBSD competely fails and sets it to /usr/local because /usr/local/bin/java is actually a wrapper script.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                michael-o Michael Osipov
                Reporter:
                michael-o Michael Osipov
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: