我有一个多模块项目,我想部署一个站点,但似乎我的站点部署配置没有被子项目子模块继承。
在文件系统上,它们相对于彼此:
/parent/
/moduleA/
/moduleB/
当我跑步时:
mvn site-deploy -P documentation
我的父项目已正确部署到:
但是没有像moduleA或moduleB那样的子项目在那里部署,因为我期望子模块继承父分发管理:
这是我的父pom.xml,我删除了一些无关的细节和报告插件(我包含了我的javadoc插件,它使用APIViz有点时髦,并且聚合以确保聚合父javadoc和子javadoc正确使用APIViz。):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.webwars</groupId>
<artifactId> parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>parent</name>
<distributionManagement>
<site>
<id>webwarsDev.website</id>
<url>scp://devServer/documentation/webwars/</url>
</site>
</distributionManagement>
<modules>
<module>../moduleA</module>
<module>../moduleB</module>
</modules>
<profiles>
<profile>
<id>documentation</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<executions>
<execution>
<id>verify_pmd</id>
<phase>verify</phase>
<goals>
<goal>pmd</goal>
</goals>
<configuration>
<linkXref>true</linkXref>
<minimumTokens>20</minimumTokens>
<targetJdk>1.6</targetJdk>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.1.2</version>
<reportSets>
<reportSet>
<reports>
<report>project-team</report>
<report>cim</report>
<report>scm</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.6.1</version>
<configuration>
<!-- Default configuration for all reports -->
<detectOfflineLinks>true</detectOfflineLinks>
<!--
<detectLinks>true</detectLinks>
-->
<detectJavaApiLink>true</detectJavaApiLink>
<linksource>true</linksource>
<useStandardDocletOptions>true</useStandardDocletOptions>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
<breakiterator>true</breakiterator>
<version>true</version>
<author>true</author>
<keywords>true</keywords>
<minmemory>128m</minmemory>
<maxmemory>512m</maxmemory>
<doclet>org.jboss.apiviz.APIviz</doclet>
<docletArtifact>
<groupId>org.jboss.apiviz</groupId>
<artifactId>apiviz</artifactId>
<version>1.3.0.GA</version>
</docletArtifact>
<additionalparam>
-charset UTF-8
-docencoding UTF-8
-version
-author
-breakiterator
-linksource
-sourcetab 4
-windowtitle "${project.name} ${project.version} API Reference"
-doctitle "${project.name} ${project.version} API Reference"
-bottom "Copyright © ${project.inceptionYear}-Present ${project.organization.name}. All Rights Reserved."
-link http://java.sun.com/javase/6/docs/api/
</additionalparam>
</configuration>
<reportSets>
<reportSet>
<id>non-aggregate</id>
<configuration>
<!-- Specific configuration for the non aggregate report -->
<doclet>org.jboss.apiviz.APIviz</doclet>
<docletArtifact>
<groupId>org.jboss.apiviz</groupId>
<artifactId>apiviz</artifactId>
<version>1.3.0.GA</version>
</docletArtifact>
<additionalparam>
-charset UTF-8
-docencoding UTF-8
-version
-author
-breakiterator
-linksource
-sourcetab 4
-windowtitle "${project.name} ${project.version} API Reference"
-doctitle "${project.name} ${project.version} API Reference"
-bottom "Copyright © ${project.inceptionYear}-Present ${project.organization.name}. All Rights Reserved."
-link http://java.sun.com/javase/6/docs/api/
-sourceclasspath ${project.build.outputDirectory}
</additionalparam>
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>aggregate</id>
<configuration>
<!-- Specific configuration for the aggregate report -->
<doclet>org.jboss.apiviz.APIviz</doclet>
<docletArtifact>
<groupId>org.jboss.apiviz</groupId>
<artifactId>apiviz</artifactId>
<version>1.3.0.GA</version>
</docletArtifact>
<additionalparam>
-charset UTF-8
-docencoding UTF-8
-version
-author
-breakiterator
-linksource
-sourcetab 4
-windowtitle "${project.name} ${project.version} API Reference"
-doctitle "${project.name} ${project.version} API Reference"
-bottom "Copyright © ${project.inceptionYear}-Present ${project.organization.name}. All Rights Reserved."
-link http://java.sun.com/javase/6/docs/api/
</additionalparam>
</configuration>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<configuration>
<linkJavadoc>true</linkJavadoc>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<configuration>
<formats>
<format>xml</format>
<format>html</format>
</formats>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</reporting>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
我已经尝试在每个子项目模块中定义显式的distributionManagement,除了某些原因子子项目站点没有index.html之外,它正确部署。
我没有像src / site / site.xml或src / site / apt / index.apt这样的src / site /文件。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.webwars</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../parent</relativePath>
</parent>
<groupId>com.webwars</groupId>
<artifactId>moduleA</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>moduleA</name>
<distributionManagement>
<site>
<id>webwarsDev.website</id>
<url>scp://devServer/documentation/webwars/moduleA</url>
</site>
</distributionManagement>
答案 0 :(得分:1)
我可能错了,但我认为您需要配置 maven-project-info-reports-plugin 来生成“索引”报告,而目前情况并非如此(您已配置)它只生成项目团队,cim和scm报告)。您需要添加索引报告:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.1.2</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>project-team</report>
<report>cim</report>
<report>scm</report>
</reports>
</reportSet>
</reportSets>
</plugin>