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

Drastically reduce JAVA_HOME discovery code

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.3.9
    • 3.5.0-alpha-1, 3.5.0
    • Command Line
    • 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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            michael-o Michael Osipov
            michael-o Michael Osipov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment