[ https://issues.apache.org/jira/browse/MNG-6003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15243533#comment-15243533 ]
Michael Osipov commented on MNG-6003: ------------------------------------- Pushed branch: https://git-wip-us.apache.org/repos/asf?p=maven.git;a=commitdiff;h=196234a95f7d5ade0b0b905308c2083e856cd121 > Drastically reduce JAVA_HOME discovery code > ------------------------------------------- > > Key: MNG-6003 > URL: https://issues.apache.org/jira/browse/MNG-6003 > Project: Maven > Issue Type: Improvement > Components: Command Line > Affects Versions: 3.3.9 > Reporter: Michael Osipov > Assignee: Michael Osipov > Fix For: 3.4.0 > > > Our [installation documentation|https://maven.apache.org/install.html] > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)