我有一个带子模块的父项目,我已阅读explanation关于链接,我尝试运行
mvn clean site
从index.html打开Child链接。我也尝试运行site:从maven-site-plugin运行目标并访问:
http://localhost:8080/
所以来自maven网站的“关于”apge的相对链接不起作用。怎么了?可能是我误解了网站的工作? 请参阅下面的父和子pom.xml
父pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MavenSiteGeneration</groupId>
<artifactId>MavenSiteGeneration</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>Child</module>
</modules>
<description>Main project</description>
<!--<url>main-url</url>-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.3</version>
<!--<configuration>
<port>9000</port>
<tempWebappDirectory>${basedir}/target/site/tempdir</tempWebappDirectory>
</configuration>-->
</plugin>
</plugins>
</build>
<distributionManagement>
<site>
<id>someid</id>
<url>http://bash.org</url>
</site>
</distributionManagement>
<reporting>
<plugins>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<configuration>
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
Child pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>MavenSiteGeneration</artifactId>
<groupId>MavenSiteGeneration</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<description>Child project</description>
<artifactId>Child</artifactId>
<!--<url>/child</url>-->
<!--<distributionManagement>
<site>
<id>asd</id>
<name>name</name>
<url>/child1112</url>
</site>
</distributionManagement>-->
</project>
有人可以告诉我出了什么问题吗?
P.S。您可以在评论中看到一些标记,我已经尝试过评论/取消。相对链接不起作用。
答案 0 :(得分:0)
首先需要运行mvn site:stage
以获取包含模块及其子模块的站点的目录(默认情况下为target/staging/
)。这也在FAQ of the maven-site-plugin中解释。
要运行此目标,您需要提供<distributionManagement><site>
中的信息,就像您在上面发布的文件中一样。
然而,运行mvn site:run
仍然无效,该目标只能用于单个模块。