[ 
https://issues.apache.org/jira/browse/RATIS-2424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Attila Doroszlai updated RATIS-2424:
------------------------------------
    Fix Version/s: 3.3.0

> Fix javadoc locale configuration for JDK 8 compatibility
> --------------------------------------------------------
>
>                 Key: RATIS-2424
>                 URL: https://issues.apache.org/jira/browse/RATIS-2424
>             Project: Ratis
>          Issue Type: Improvement
>            Reporter: Xinyu Tan
>            Assignee: Xinyu Tan
>            Priority: Major
>             Fix For: 3.3.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
>   *Background*
>   PR #1365 added `-locale en_US` to the maven-javadoc-plugin configuration to 
> ensure English javadoc
>   generation. However, this approach fails on JDK 8 with the following error:
>   javadoc: error - option -locale must be first on the command line.
>   Command line was: ... -Xmaxwarns 10000 -Xdoclint:-missing -locale en_US 
> @options @packages
>   JDK 8's javadoc requires the `-locale` option to be the first argument on 
> the command line, but
>   maven-javadoc-plugin cannot guarantee this parameter order.
>   The solution is to use JVM system properties instead:
>   ```xml
>   <additionalJOption>-J-Duser.language=en</additionalJOption>
>   <additionalJOption>-J-Duser.country=US</additionalJOption>
>   This approach sets the locale at JVM startup time, before javadoc runs, 
> ensuring compatibility with both
>   JDK 8 and JDK 11+.
> *Verification Results*
>   Environment: JDK 11 + Chinese locale
>   JVM Params: With -J-Duser.language=en -J-Duser.country=US
>   Result: ✅ English ("Method Summary")
>   ────────────────────────────────────────
>   Environment: JDK 11 + Chinese locale
>   JVM Params: Without JVM params
>   Result: ❌ Chinese ("方法概要")
>   ────────────────────────────────────────
>   Environment: JDK 8 + Chinese locale
>   JVM Params: With -J-Duser.language=en -J-Duser.country=US
>   Result: ✅ English ("Method Summary")
>  *Conclusion*
>   The JVM parameter approach (-J-Duser.language=en and -J-Duser.country=US) 
> is effective:
>   - Under Chinese locale environment (LANG=zh_CN.UTF-8)
>   - On both JDK 8 and JDK 11
>   - The generated javadoc is always in English, regardless of the build 
> system's locale settings



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to