[
https://jira.codehaus.org/browse/MJAVADOC-394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Laird Nelson updated MJAVADOC-394:
----------------------------------
Description:
The logic to detect where the {{javadoc}} script is located is not correct for
Oracle's JVM 1.7 and higher on Mac OSX.
The logic inside of {{AbstractJavadocMojo}} currently special-cases all JVMs
running on OSX (line 3534):
{code:title=AbstractJavadocMojo.java}
else if ( SystemUtils.IS_OS_MAC_OSX )
{
javadocExe = new File( SystemUtils.getJavaHome() + File.separator +
"bin", javadocCommand );
}
{code}
But as of JDK 1.7 as distributed by Oracle, the default "else" block should
apply here (line 3538):
{code:title=AbstractJavadocMojo.java}
else
{
javadocExe =
new File( SystemUtils.getJavaHome() + File.separator + ".." +
File.separator + "bin", javadocCommand );
}
{code}
The solution might be to modify line 3534 as follows (or perhaps also check for
Oracle's vendor string as well--anyway, you get the idea):
{code:title=AbstractJavadocMojo.java}
else if ( SystemUtils.IS_OS_MAC_OSX && SystemUtils.JAVA_VERSION_FLOAT <
1.7f )
{
javadocExe = new File( SystemUtils.getJavaHome() + File.separator +
"bin", javadocCommand );
}
{code}
Patch forthcoming.
was:
The logic to detect where the {{javadoc}} script is located is not correct for
Oracle's JVM 1.7 and higher on Mac OSX.
The logic inside of {{AbstractJavadocMojo}} currently special-cases all JVMs
running on OSX (line 3534):
{code:title=AbstractJavadocMojo.java}
else if ( SystemUtils.IS_OS_MAC_OSX )
{
javadocExe = new File( SystemUtils.getJavaHome() + File.separator +
"bin", javadocCommand );
}
{code}
But as of JDK 1.7 as distributed by Oracle, the default "else" block should
apply here (line 3538):
{code:title=AbstractJavadocMojo.java}
else
{
javadocExe =
new File( SystemUtils.getJavaHome() + File.separator + ".." +
File.separator + "bin", javadocCommand );
}
{code}
The solution might be to modify line 3534 as follows (or perhaps also check for
Oracle's vendor string as wellâanyway, you get the idea):
{code:title=AbstractJavadocMojo.java}
else if ( SystemUtils.IS_OS_MAC_OSX && SystemUtils.JAVA_VERSION_FLOAT <
1.7f )
{
javadocExe = new File( SystemUtils.getJavaHome() + File.separator +
"bin", javadocCommand );
}
{code}
Patch forthcoming.
Patch Submitted: Yes
> javadoc is not found properly by default under Oracle's JDK 7+ on Mac OSX
> -------------------------------------------------------------------------
>
> Key: MJAVADOC-394
> URL: https://jira.codehaus.org/browse/MJAVADOC-394
> Project: Maven Javadoc Plugin
> Issue Type: Bug
> Affects Versions: 2.9.1
> Environment: Mac OSX, JDK 1.7+
> Reporter: Laird Nelson
> Attachments: AbstractJavadocMojo.java.patch
>
>
> The logic to detect where the {{javadoc}} script is located is not correct
> for Oracle's JVM 1.7 and higher on Mac OSX.
> The logic inside of {{AbstractJavadocMojo}} currently special-cases all JVMs
> running on OSX (line 3534):
> {code:title=AbstractJavadocMojo.java}
> else if ( SystemUtils.IS_OS_MAC_OSX )
> {
> javadocExe = new File( SystemUtils.getJavaHome() + File.separator
> + "bin", javadocCommand );
> }
> {code}
> But as of JDK 1.7 as distributed by Oracle, the default "else" block should
> apply here (line 3538):
> {code:title=AbstractJavadocMojo.java}
> else
> {
> javadocExe =
> new File( SystemUtils.getJavaHome() + File.separator + ".." +
> File.separator + "bin", javadocCommand );
> }
> {code}
> The solution might be to modify line 3534 as follows (or perhaps also check
> for Oracle's vendor string as well--anyway, you get the idea):
> {code:title=AbstractJavadocMojo.java}
> else if ( SystemUtils.IS_OS_MAC_OSX && SystemUtils.JAVA_VERSION_FLOAT
> < 1.7f )
> {
> javadocExe = new File( SystemUtils.getJavaHome() + File.separator
> + "bin", javadocCommand );
> }
> {code}
> Patch forthcoming.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)