如何从不相关的项目生成组合的Maven站点?

如何从不相关的项目生成组合的Maven站点?,maven,Maven,我想创建几个Maven项目的概述,以Maven站点目标生成的网站的形式。这些项目是不同产品的一部分,有些是父子关系,有些是相互依赖的 该站点应结合所有项目的信息,包括JavaDoc、Checkstyle/PMD检查、测试结果和代码覆盖率指标 我创建了一个POM文件,该文件将每个现有项目聚合为一个模块,每个项目在子文件夹中可用,但输出不会合并到单个站点中。您可以通过将所有项目上的project.build.directory设置为一个公共文件夹来完成此操作。这可以通过将路径作为参数传递给构建来实现

我想创建几个Maven项目的概述,以Maven站点目标生成的网站的形式。这些项目是不同产品的一部分,有些是父子关系,有些是相互依赖的

该站点应结合所有项目的信息,包括JavaDoc、Checkstyle/PMD检查、测试结果和代码覆盖率指标


我创建了一个POM文件,该文件将每个现有项目聚合为一个模块,每个项目在子文件夹中可用,但输出不会合并到单个站点中。

您可以通过将所有项目上的project.build.directory设置为一个公共文件夹来完成此操作。这可以通过将路径作为参数传递给构建来实现。然后可以在公共目标文件夹上运行站点目标。如果在持续集成环境中从运行maven,可以通过在maven任务中设置targetpath来实现。否则,您必须在命令行中指定它

<project>
  <build>
    <directory>${targetpath}/${project.artifactId}</directory>
    <plugins>
     <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-site-plugin</artifactId>
      <version>2.3</version>
      <configuration>
       <inputDirectory>${targetpath}</inputDirectory>
      </configuration>
     </plugin>
    </plugins>
  </build>
</project>

mvn clean deploy -Dtargetpath=Path/To/Build/Output

这将生成一个包含组合Javadoc的站点,但不包含Checkstyle报告。我确实为每个单独的项目创建了一个/target/site文件夹。明天我将检查单独项目POM的配置。我无法让它工作。站点插件的文档没有提到设置。inputDirectory用于
站点:部署
站点:阶段
目标
site:site
应该在${targetpath}/${artifactId}下构建站点,然后
site:stage
应该将它们复制到一个公共位置。谢谢你的帮助,Ryan,但是我认为我不能在不花费大量时间的情况下让它工作。这可能是我对Maven缺乏了解,但我发现它是一个非常不直观的工具。我会接受你的回答,因为我认为这对更好理解Maven的人很有用。
<profiles>
  <profile>
    <id>dev</id>
    <activation>
      <property>
        <name>!targetpath</name>
      </property>
    </activation>
    <properties>
      <targetpath>target</targetpath>
    </properties>
  </profile>
</profiles>