【问题标题】:Maven2: How to stage JXR plugin result when using mvn site?Maven2:使用 mvn 站点时如何暂存 JXR 插件结果?
【发布时间】:2009-07-31 14:48:01
【问题描述】:

我有一个多模块项目,我想使用 JXR maven 插件在项目站点上部署我的源代码的 HTML 版本。

问题是 JXR 插件运行良好,为我的每个模块正确生成了 XREF 文件夹,但是当我使用 mvn site:stage 命令检索所有项目的站点内容并正确获取所有链接时生成它不会检索 XREF 文件夹。

这是我配置了 JXR 插件的 POM 文件的摘录:

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>jxr-maven-plugin</artifactId>
   <configuration>
      <aggregate>true</aggregate>
   </configuration>
</plugin>

这是我用来创建和登台网站的命令:

mvn site site:stage

你们有什么想法吗?

提前致谢。

r.

【问题讨论】:

  • 您可以发布站点插件的配置吗?
  • 站点插件没有具体配置:org.apache.maven.pluginsmaven-site-plugin

标签: maven-2 maven-plugin


【解决方案1】:

不确定这是否相关,但您的命令运行该站点两次,mvn site 将生成该站点,并且 site:stage 也将运行该站点,也许这会导致问题,但老实说我不明白为什么。

查看JXR documentation,它只提到了 site:site 目标,我不明白为什么它不能为 site:stage 目标正确运行,因为它扩展了它。如果您运行 site 目标,然后将输出复制到另一个目录,运行 site:stage 目标并比较输出,它可能会对问题有所了解。

更新:我自己尝试过,外部参照被包含并很好地聚合在 c:\test\stage 中,并正确管理了交叉引用。我已经包含了我使用的配置。

在我的父 pom 中,我定义了这样的站点配置:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-site-plugin</artifactId>
      <executions>
        <execution>
          <phase>prepare-package</phase>
          <goals>
            <goal>stage</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <stagingDirectory>c:\test\stage</stagingDirectory>
      </configuration>
    </plugin>
  </plugins>
</build>

distributionManagement 部分配置了站点信息(不是真的需要,因为我在上面设置了 stagingDirectory,但没有它目标将无法运行)。

<distributionManagement>  
  <site>
    <id>mojo.website</id>
    <name>Mojo Website</name>
    <url>scp://test/</url>
  </site>
</distributionManagement>

我在父 pom 中的 JXR 配置如下:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jxr-plugin</artifactId>
  <reportSets>
    <reportSet>
      <id>src-xref</id>
      <reports>
        <report>jxr</report>
      </reports>
    </reportSet>
    <reportSet>
      <id>test-xref</id>
      <reports>
        <report>test-jxr</report>
      </reports>
    </reportSet>
  </reportSets>
  <configuration>
    <aggregate>true</aggregate>
  </configuration>
</plugin>

命令行运行是 mvn clean site:stage

编辑:根据 cmets,有一个 codehaus jxr plugin,其语义略有不同。请务必使用 org.apache.maven.plugins 版本而不是 org.codehaus.mojo 版本。

【讨论】:

  • 其实site命令会正确生成XREF文件夹。该问题与似乎无法检索此 XREF 文件夹的阶段命令相关联。我试图删除该站点并仅启动该站点:阶段,但问题是相同的...
  • 您好,感谢您的帮助。无论如何,这不适用于我的配置。这可以链接到我使用的版本(Maven 2.2.1-RC1)。你用的是哪个版本?
  • 好的,真的不知道为什么它不适用于我的配置。我也尝试了 2.2.0 并且仍然是相同的 pb...
  • 我现在猜,但是尝试声明 jxr 插件的确切版本并使用新的本地存储库(在您的 settings.xml 中更改它),可能是您使用的是损坏的/旧版本或类似的东西
  • 好的,知道了!这确实与插件配置有关。实际上,我的配置是从一篇关于 Maven 2 站点生成使用的文章中提取的,并且此文档中的插件 groupId 是错误的(org.codehaus.mojo 而不是 org.apache.maven.plugins)...非常感谢您的时间和你的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 2015-06-26
  • 2012-06-13
  • 2020-09-07
  • 1970-01-01
相关资源
最近更新 更多