如何使用 Maven 程序集插件在单个 jar 中包含 javadoc

How include javadoc inside single jar with maven assembly plugin

我有一个库,我想在单个 jar 文件中为其提供 javadoc。我使用 maven 程序集插件来获取单个程序集。我在 pom.xml 中有以下设置:

   <build>
    ...
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>

                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <appendAssemblyId>false</appendAssemblyId>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.4</version>
            <executions>
                <execution>
                    <id>attach-javadoc</id>
                    <phase>compile</phase>
                </execution>
            </executions>
        </plugin>
    </plugins>
    ...
   <build>

为了获得一个 jar,我 运行 这个 maven 命令:

clean compile assembly:single

但是不要在生成的 jar 中获取 javadoc。除了这个我还要做些什么?

maven 的标准方法是创建一个只包含您的应用程序 而没有 javadoc/sources 的 jar。如果您想向图书馆的用户提供 javadoc/sources,那么您应该使用 attach-sources / attach-javadoc 作为文档结尾:attach-source-javadoc-artifacts

这样您将在 Maven 存储库中获得名称为

的附加文件
  • (<yourlibrary>-1.0-SNAPSHOT.jar)
  • <yourlibrary>-1.0-SNAPSHOT-sources.jar
  • <yourlibrary>-1.0-SNAPSHOT-javadoc.jar