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