【问题标题】:Maven project + maven-site-plugin not workingMaven 项目 + maven-site-plugin 不工作
【发布时间】:2011-08-11 14:02:39
【问题描述】:

我目前正在使用 Maven 3 处理 ma​​ven-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 文件?

注意 mvn:site 是从 PARENT_PROJECT 运行的

将 POM 更改为包含

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

作为一个多项目,现在按照这里的建议运行 site:stage http://maven.apache.org/plugins/maven-site-plugin/faq.html 但注意到我无法运行该项目,因为 maven 声明“在多项目构建中,“mvn 站点”将为您做什么,是为父级及其所有模块单独运行“mvn site”。父级和子级之间的链接在这里不起作用。但是,当您部署站点时,它们将起作用。“

【问题讨论】:

  • 仍然无法正常工作,site:run 确实创建了站点,但如上所述,它无法链接子项目站点。我的问题是如何查看子项目站点,因为我不知道它们的 URL? 8080:/ 不起作用

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


【解决方案1】:

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

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

【讨论】:

  • 试过了,但在项目的分发管理元素中获取缺少站点信息
  • 似乎已经使用 nexussitemy url 解决了这个问题
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      所以试试

      mvn clean site:site site:deploy
      

      【讨论】:

        猜你喜欢
        • 2020-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-11
        • 2014-07-02
        • 2014-03-10
        • 2019-12-02
        相关资源
        最近更新 更多