编译Hadoop源码(3.4.0)后,生成javadoc

  1. 具体编译步骤见上一篇文章:hadoop3.4.0源码编译如果遇到什么问题,可以留言,我后续更新文章。
  2. 今天遇到的问题是,类似这种:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  47.362 s
[INFO] Finished at: 2020-05-30T17:11:45+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project hadoop-project-dist: Could not resolve dependencies for project org.apache.hadoop:hadoop-project-dist:pom:3.4.0-SNAPSHOT: Could not transfer artifact org.apache.hadoop:hadoop-annotations:jar:3.4.0-SNAPSHOT from/to apache.snapshots.https (https://repository.apache.org/content/repositories/snapshots): Transfer failed for https://repository.apache.org/content/repositories/snapshots/org/apache/hadoop/hadoop-annotations/3.4.0-SNAPSHOT/hadoop-annotations-3.4.0-SNAPSHOT.jar: Connect to repository.apache.org:443 [repository.apache.org/136.243.146.148] failed: Connection timed out: connect -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :hadoop-project-dist
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.399 s
[INFO] Finished at: 2020-05-30T17:43:14+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project hadoop-hwcloud: Could not resolve dependencies for project org.apache.hadoop:hadoop-hwcloud:jar:3.4.0-SNAPSHOT: Could not find artifact org.apache.hadoop:hadoop-common:jar:3.4.0-SNAPSHOT -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
  1. 解决办法:
    1)如果给的链接地址下载不到,就手动下载,放到对应的maven仓库位置。
    2)我上面的两个问题其实官方的maven仓库里也没有对应的jar,因为这是最新版本,只能自己编译,所以把上一篇文章中编译的jar文件安装到本地maven仓库中。
  2. 安装自己编译出来的jar文件到自己本地maven仓库中。
    1)一般导入jar包的格式为:
 <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-common</artifactId>
      <version>3.4.0-SNAPSHOT</version>
 </dependency>
2)因此安装自己编译的jar时的命令格式为:
mvn install:install-file -Dfile=D:\java_workspace\hadoop-trunk\hadoop-common-project\hadoop-common\target\hadoop-common-3.4.0-SNAPSHOT.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-common -Dversion=3.4.0-SNAPSHOT -Dpackaging=jar

-Dfile :为生成的jar文件路径。
-DgroupId :参考上面1)中格式。
-DartifactId :参考上面1)中格式。
-Dversion :为生成的jar文件版本。

编译Hadoop源码(3.4.0)后,生成javadoc_第1张图片

  1. 生成javadoc
    1)命令行方式生成:在源代码目录执行:mvn javadoc:javadoc
    2)idea 窗口生成:
    编译Hadoop源码(3.4.0)后,生成javadoc_第2张图片
    编译Hadoop源码(3.4.0)后,生成javadoc_第3张图片
  2. 生成javadoc时可能会遇到:错误: 编码GBK的不可映射字符
    解决办法:
    在idea中,依次点击:File—setting—editor—code style—file encodings。
    编译Hadoop源码(3.4.0)后,生成javadoc_第4张图片
    如果还没有解决,试试这个:
    pom.xml文件中加入:1)
  <properties>
    <file.encoding>UTF-8</file.encoding>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
<build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <encoding>utf-8</encoding>
        </configuration>
      </plugin>
      

然后再重新编译试试。

  1. 完。

你可能感兴趣的:(工具,问题)