mac os 下idea编译hive出现javadoc找不到

背景

编译hive的时候,使用的命令是mvn clean package -Pdist,hive-webchat总是编译报错,mvn命令中加上-e(即mvn clean package -Pdist -e)显示错误日志如下,同时看到错误日志中javadoc的寻找的路径是$JAVA_HOME/jre/bin/javadoc。

"Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:javadoc (default-cli) on project ContAnalysis: An error has occurred in Javadoc report generation: Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set."

原因分析

mvn编译使用的是JDK8编译的,在JDK8中,javadoc的路径在$JAVA_HOME/bin/javadoc下,所以就存在找不到javadoc命令。

解决方案

在hive-webchat这个module下的pom.xml文件中,找到javadocplugin的地方,加入下面的语句

<javadocExecutable>/Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home/bin/javadoc</javadocExecutable>

完整的内容如下

<plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven.javadoc.plugin.version}</version>
        <executions>
          <execution>
            <id>resourcesdoc.xml</id>
            <goals>
              <goal>javadoc</goal>
            </goals>
            <phase>compile</phase>
            <configuration>
              <javadocExecutable>/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/bin/javadoc</javadocExecutable>
              <encoding>${project.build.sourceEncoding}</encoding>
              <verbose>true</verbose>
              <show>public</show>
              <doclet>com.sun.jersey.wadl.resourcedoc.ResourceDoclet</doclet>
              <docletArtifacts>
                <docletArtifact>
                  <groupId>com.sun.jersey.contribs</groupId>
                  <artifactId>wadl-resourcedoc-doclet</artifactId>
                  <version>${wadl-resourcedoc-doclet.version}</version>
                </docletArtifact>
                <!--
                    Also specify jersey and xerces as doclet artifacts as the ResourceDoclet
                    uses classes provided by them to generate the resourcedoc.
                 -->
                <docletArtifact>
                  <groupId>com.sun.jersey</groupId>
                  <artifactId>jersey-server</artifactId>
                  <version>${jersey.version}</version>
                </docletArtifact>
                <docletArtifact>
                  <groupId>xerces</groupId>
                  <artifactId>xercesImpl</artifactId>
                  <version>${xerces.version}</version>
                </docletArtifact>
              </docletArtifacts>
              <additionalparam>-output ${project.build.outputDirectory}/resourcedoc.xml</additionalparam>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值