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

时间:2015-02-13 00:33:06

标签: java maven zip javadoc maven-javadoc-plugin

我试图弄清楚如何使用Maven创建我的Javadocs的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还是必须使用其他插件?

1 个答案:

答案 0 :(得分:4)

您需要将maven-javadoc-pluginmaven-assembly-plugin结合使用,将生成的文档打包在zip中。首先,仅使用javadoc:javadoc目标生成apidoc,但不要打包它。这默认情况下会在${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>