MavenReportException:JAVA_HOME 未正确设置

Phi*_*kis 5 java deployment maven-plugin maven

我已经尝试了很多 JDK 版本来解决这个问题,但似乎无论我使用哪个 java,结果总是相同的。

MavenReportException:创建存档时出错:无法找到 javadoc 命令:环境变量 JAVA_HOME 未正确设置。

调试

这些是当前安装的jdk: 在此输入图像描述

我跑了:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$JAVA_HOME/bin:$PATH

java -version:

openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~20.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

javac -version

javac 1.8.0_265
Run Code Online (Sandbox Code Playgroud)

mvn clean 部署 -P 发布

在此输入图像描述

MavenReportException:创建存档时出错:无法找到 javadoc 命令:环境变量 JAVA_HOME 未正确设置。

Maven 插件配置

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <executable>${JAVA_HOME}/bin/javac</executable>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

虽然which javawhich javadoc指出/usr/bin这可能是问题所在吗?

编辑1

内容/bin

在此输入图像描述

Kes*_*uwa 6

我不知道这是否有帮助,但就我而言,maven Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:jar给出了一个例外: MavenReportException: Error while generating Javadoc: Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set.

解决方案是找到导致问题的插件( <artifactId>maven-javadoc-plugin</artifactId>就我而言)并添加以下内容:

                <configuration>
                    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
                </configuration>
Run Code Online (Sandbox Code Playgroud)

${java.home}在哪/usr/lib/jvm/java-11-openjdk-amd64/

该插件看起来像:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
                </configuration>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
Run Code Online (Sandbox Code Playgroud)

并且目标被成功执行。


小智 1

请使用以下命令检查 Maven 的 java 版本:

#mvn --版本

它会给出类似的东西:

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T01:19:05+05:30) Maven 主目录:/home/user/apache-maven-3.5.3 Java 版本:1.8.0_121,供应商:Oracle Corporation Java 主目录:/home/user/jdk1.8.0_121/jre 默认区域设置:en_IN,平台编码:UTF-8

在这里,您可以看到使用的是哪个JAVA版本及其位置。