[
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)