使用 Maven 将 Javadocs 创建为 zip 文件而不是 jar 文件

Using Maven to create Javadocs as a zip file instead of a jar file

我想知道如何使用 Maven 创建 Javadoc 的 zip 文件而不是 jar 文件。我目前正在使用 maven-javadoc-plugin 创建一个 jar 文件。

 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-javadoc-plugin</artifactId>
     <version>2.7</version>
     <executions>
         <execution>
             <id>attach-javadoc</id>
             <goals>
                 <goal>jar</goal>
             </goals>
         </execution>
    </executions>
</plugin>

我查看了目标 listed here,但发现没有任何帮助。这可能使用 maven-javadoc-plugin 还是必须使用其他插件?

您需要结合使用 maven-javadoc-pluginmaven-assembly-plugin 将生成的文档打包到 zip 中。首先,只使用 javadoc:javadoc 目标生成 apidocs,但不要打包它。默认情况下,这会在 ${project.build.directory}/apidocs 中生成文档。

然后,使用maven-assembly-plugin将这些文档打包如下:

添加maven程序集插件:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <id>docs-assembly</id>
      <phase>package</phase>
      <configuration>
        <appendAssemblyId>false</appendAssemblyId>
        <descriptors>
          <descriptor>src/main/assembly/assemble.xml</descriptor>
        </descriptors>
      </configuration>
      <goals>
        <goal>single</goal>
      </goals>
    </execution>
  </executions>
</plugin>

现在,配置maven组件插件:

<?xml version="1.0" encoding="UTF-8"?>
<assembly>
  <id>${project.build.finalName}</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}/apidocs</directory>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
</assembly>