mvn javadoc期间Maven构建Javadoc压缩:javadoc

b4wnujal  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(145)

在mvn安装操作过程中,我使用以下代码为生成的Javadoc生成一个ZIP:

<plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>docs-assembly</id>
                <phase>package</phase>
                <configuration>
                  <finalName>${project.build.finalName}-${project.version}-Javadoc</finalName>
                  <appendAssemblyId>false</appendAssemblyId>
                  <descriptors>
                    <descriptor>src/main/assemble.xml</descriptor>
                  </descriptors>
                </configuration>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

但是如果我想通过启动mvn javadoc:javadoc来生成这个ZIP文件,则不会生成ZIP文件:

<plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.2.0</version>
            <executions>
                <execution>
                    <id>docs-assembly</id>
                    <phase>package</phase>
                    <configuration>
                      <finalName>${project.build.finalName}-${project.version}-Javadoc</finalName>
                      <appendAssemblyId>false</appendAssemblyId>
                      <descriptors>
                        <descriptor>src/main/assemble.xml</descriptor>
                      </descriptors>
                    </configuration>
                    <goals>
                      <goal>single</goal>
                    </goals>
                  </execution>
              </executions>
        </plugin>

我只是复制/粘贴执行,但docs-assembly没有使用javadoc:javadoc执行...为什么在javadoc:javadoc调用期间没有调用它?

ozxc1zmp

ozxc1zmp1#

你的主要问题是:为什么javadoc:javadoc调用时不调用maven-assembly-plugin:single?为此,你需要理解生命周期和插件目标之间的区别。插件目标是一个单一的任务,很容易通过冒号识别。所以javadoc:javadoc是一个插件目标。把一个生命周期看作是一组有序的插件目标。你可以把一个生命周期称为阶段(没有冒号),Maven知道需要执行哪些插件。package是一个生命周期阶段。
因此,如果调用javadoc:javadoc,这将是唯一的任务,Maven没有理由也执行maven-assembly-plugin:single
顺便说一句,你试过javadoc:jar吗?你应该知道jar只是一个额外的zip文件。

相关问题