Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对javadoc使用聚合和jar目标_Java_Maven Javadoc Plugin - Fatal编程技术网

对javadoc使用聚合和jar目标

对javadoc使用聚合和jar目标,java,maven-javadoc-plugin,Java,Maven Javadoc Plugin,我希望使用聚合目标为我的整个项目生成javadoc,但我也希望为几个子项目生成javadoc JAR。在我的父pom.xml中,我添加了以下插件管理,以允许子项目轻松生成javadoc JAR: <project> ... <build> <pluginManagement> <plugin> <artifactId>maven-javadoc-plugin</artifactId>

我希望使用聚合目标为我的整个项目生成javadoc,但我也希望为几个子项目生成javadoc JAR。在我的父pom.xml中,我添加了以下插件管理,以允许子项目轻松生成javadoc JAR:

<project>
  ...
  <build>
    <pluginManagement>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9</version>
        <executions>
          <execution>
            <goals>
              <goal>jar</goal>
            </goals>
            ...

...
maven javadoc插件
2.9
罐子
...
然后在需要javadoc jar的子项目中,我添加了:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
        </plugin>
        ...

...
maven javadoc插件
...
到目前为止还不错。现在我想使用聚合目标来获得一整套javadoc,因此我在父pom中添加了对javadoc插件的另一个引用:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>aggregate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
<project>
  ...
  <build>
    <pluginManagement>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9.1</version>
          <executions>
            <execution>
              <id>javadoc-jar</id>
              <phase>none</phase>
              <goals>
                <goal>jar</goal>
              </goals>
              ...

...
maven javadoc插件
总数的
...
这导致javadoc插件被拉入每个子项目中,而不仅仅是少数需要它的子项目。jar和聚合目标似乎独立地工作得很好,但当它们一起使用时,会导致问题。有人解决了这样的问题吗


提前谢谢

我通过做类似的事情找到了答案:基本上,我为执行添加了一个id,并为javadoc jar实例添加了一个阶段none。然后我重写了这个阶段,只在需要javadoc jar的子项目中打包。以下是父pom中的插件管理:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>aggregate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
<project>
  ...
  <build>
    <pluginManagement>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9.1</version>
          <executions>
            <execution>
              <id>javadoc-jar</id>
              <phase>none</phase>
              <goals>
                <goal>jar</goal>
              </goals>
              ...

...
maven javadoc插件
2.9.1
javadocjar
没有一个
罐子
...
然后在需要的子项目pom中,打开javadoc jar:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <id>javadoc-jar</id>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
      ...

...
maven javadoc插件
javadocjar
包裹
...

在您的情况下,如果您需要一些子项目来调用
jar
目标,以及一些
聚合
目标,我不会共享
键。只需在每个子项目中明确列出所需的目标。