[
https://issues.apache.org/jira/browse/MJAVADOC-538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17957921#comment-17957921
]
Olivier Lamy commented on MJAVADOC-538:
---------------------------------------
This project has moved from Jira to GitHub Issues. This issue was migrated to
[apache/maven-javadoc-plugin#807|https://github.com/apache/maven-javadoc-plugin/issues/807].
> JVM "JAVA_TOOL_OPTIONS" or "_JAVA_OPTIONS" message detected as javadoc
> warning, triggers failure
> -------------------------------------------------------------------------------------------------
>
> Key: MJAVADOC-538
> URL: https://issues.apache.org/jira/browse/MJAVADOC-538
> Project: Maven Javadoc Plugin (Moved to GitHub Issues)
> Issue Type: Bug
> Affects Versions: 3.0.1
> Environment: Maven 3.5.4
> Java 1.8.0_181
> Reporter: Yoann Rodière
> Assignee: Robert Scholte
> Priority: Major
> Fix For: 3.1.0
>
>
> When an environment variable {{_JAVA_OPTIONS}} or {{JAVA_TOOL_OPTIONS}} is
> defined, every JVM that starts will output a message to inform users of these
> options being picked up:
> {noformat}
> $ export JAVA_TOOL_OPTIONS=-Dfoo
> $ java -version
> Picked up JAVA_TOOL_OPTIONS: -Dfoo
> java version "1.8.0_181"
> Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
> Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode){noformat}
> Apparently this message cannot be suppressed, that's on purpose an won't
> change: [https://bugs.openjdk.java.net/browse/JDK-8039152]
>
> Unfortunately, this message seems to be interpreted by the
> maven-javadoc-plugin as a warning:
> {noformat}
> [INFO] --- maven-javadoc-plugin:3.0.1:javadoc-no-fork (generate-javadoc) @
> hibernate-search-util-internal-common ---
> [INFO] The goal 'org.apache.maven.plugins:maven-javadoc-plugin:3.0.1:javadoc'
> has not been previously called for the module:
> 'org.hibernate.search:hibernate-search-util-internal-test:jar:6.0.0-SNAPSHOT'.
> Trying to invoke it...
> [WARN] Maven will be executed in interactive mode, but no input stream has
> been configured for this MavenInvoker instance.
> Picked up JAVA_TOOL_OPTIONS: -Dfoo
> [WARNING] Creating fake javadoc directory to prevent repeated invocations:
> /home/yrodiere/workspaces/main/hibernate-search-parent/util/internal/test/target/site/apidocs
> [ERROR] Error fetching link:
> /home/yrodiere/workspaces/main/hibernate-search-parent/util/internal/test/target/site/apidocs/package-list.
> Ignored it.
> [WARNING] Javadoc Warnings
> [WARNING] Picked up JAVA_TOOL_OPTIONS: -Dfoo
> {noformat}
> (see the last line, the message appears in the list of warnings)
> No big deal... until you enable the
> [failOnWarnings|https://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-no-fork-mojo.html#failOnWarnings]
> option. Then the whole build will fail just because some JVM detected an
> environment variable...
> I couldn't find any workaround, except disabling the {{failOnWarnings}}
> options, but that's more a surrender than a workaround.
> Note that the definition of {{_JAVA_OPTIONS}} or {{JAVA_TOOL_OPTIONS}} is not
> exactly an exotic use case, especially on Continuous Integration platforms.
> [Travis CI uses {{_JAVA_OPTIONS}}
> |https://docs.travis-ci.com/user/build-environment-updates/2017-09-06/#added]
> to set JVM memory limits in its containerized environments, and [the Jenkins
> CI Pipeline Maven plugin uses
> {{JAVA_TOOL_OPTIONS}}|https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin#PipelineMavenPlugin-WhydoIseemessages%22[WARNING]PickedupJAVA_TOOL_OPTIONS...%22inthebuildlogs?]
> to pass options to Maven processes transparently.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)