Maven项目+ maven-site-plugin无法正常工作

时间:2011-08-11 14:02:39

标签: maven reporting maven-plugin maven-3 maven-site-plugin

我目前正在使用Maven 3使用 maven-site-plugin

该插件按预期生成所有报告,但由于我的项目布局(如下所示),显示的主站点不显示报告。任何人都可以建议我们如何共享内容或添加链接以显示如何将链接放在site.xml中以显示内容。感谢

site \ site.xml文件如下所示。

<project name="MyProject">
    <body>`enter code here`
        <links>
            <item name="My Site" href="http://hp.com" /> 
        </links>
        <menu name="Projects" inherit="top"> 
            <item name="Description and Usage" href="index.html"/>
            <item name="Goals" href="plugin-info.html"/>
            <item name="Usage" href="usage.html"/>
            <item name="FAQ" href="faq.html"/>          
        </menu>
        <menu ref="reports"/>       
    </body>
</project>

运行该站点不是问题,该站点出现但没有链接正常工作且报告不可见。我认为这是因为我的项目设置不标准。我有以下设置

PARENT_PROJECT
-pom.xml (this is where maven-site-plugin is defined and used)
-src
   site
       site.xml
-target (all reports are here inc a index.html)
---x EAR Project
     pom.xml
     target (all reports are here inc a index.html)
---x WEBAPP Project
     pom.xml
     target (all reports are here inc a index.html)
---x JAR Project
     pom.xml
     target (all reports are here inc a index.html)

由于某些未知原因,当我运行site:run并输入“localhost:8080”时,来自EAR \ target \ index.html的index.html出现而不是PARENT_PROJECT \ target \ index.html文件?< / p>

请注意,mvn:site是从PARENT_PROJECT

运行的

更改了POM以包含

<site>
    <id>nexus</id>
    <name>site</name>
    <url>http://localhost:8080</url>
</site>

由于它是一个多项目,正在运行的网站:现在正如http://maven.apache.org/plugins/maven-site-plugin/faq.html所建议的那样,但注意到我无法运行该项目,因为maven说“在什么”mvn网站“将为你做多个项目build,是为父级及其所有模块单独运行“mvn site”。父级和子级之间的链接在这里不起作用。但是在部署站点时它们会起作用。“

4 个答案:

答案 0 :(得分:2)

您还应该考虑使用maven-site-plugin的site:stage目标。从那个链接:

  

[site:stage]可用于测试多模块构建中模块站点之间的链接。

答案 1 :(得分:1)

我不确定此问题是否与问题project-reports.html vs index.html有关,当生成的链接错误时,您无法访问子模块。检查生成的文件(索引或项目报告)并通过修复URL访问该文件。

答案 2 :(得分:0)

今天遇到了同样的问题,我通过将我的maven更新为3.0.4解决了这个问题。使用Maven 3.0.3并且该版本中的链接已被破坏。

答案 3 :(得分:0)

我不确定这是否是您的具体问题,但我遇到过,如果站点描述符已更改,Maven 站点不会更新 index.html。 所以它保持 index.html 不变,除非你指定 mvn clean

试试吧

mvn clean site:site site:deploy