如何避免在maven-site-plugin中检查父项目?

时间:2014-05-11 20:18:17

标签: maven maven-site-plugin

我有一个小型的maven项目。我试图通过maven-site-plugin添加生成网站,但它不起作用。当我构建这个项目时,我得到以下错误:

[错误]无法在项目服务器-wms-product上执行目标org.apache.maven.plugins:maven-site-plugin:3.3:site(default-site):SiteToolException:无法从网站描述符中解析repository:ArtifactResolutionException:无法找到网站描述符:无法传输工件[PARENT-PROJECT]:xml:site_en:1.0.141.1 from / to eclipse(http://maven.eclipse.org/nexus/content/repositories/testing/):连接到http://maven.eclipse.org拒绝

我的项目是其他项目的扩展,所以在我的pom.xml中设置了不是我的项目的父项目,我不能在那里添加站点配置。

那么有没有机会在网站生成中跳过检查父项目的网站?

我的pom.xml看起来像这样:

   <project>
       <parent>
        <artifactId>base-server-product</artifactId>
        <groupId>XXXXXXXXXXXx</groupId>
        <version>1.0</version>
    </parent>
        <build>
             <plugins>
                <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-site-plugin</artifactId>
                   <version>3.3</version>
                   <configuration>
                      <reportPlugins>
                      </reportPlugins>
                   </configuration>
                </plugin>
             </plugins>
       </build>
    </project>

当然我在src / site中有site.xml文件。

4 个答案:

答案 0 :(得分:2)

attaching the site descriptor配置为父pom中的工件。

<project>
  <artifactId>base-server-product</artifactId>
  <groupId>XXXXXXXXXXXx</groupId>
  <version>1.0</version>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-descriptor</id>
            <goals>
              <goal>attach-descriptor</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

核心功能已与maven 3中的网站生成分开。您可以找到原因here。如果要从子模块引用父模块的站点,则必须将site.xml附加到已部署的工件。

答案 1 :(得分:1)

我有完全相同的问题,经过大量的谷歌搜索后,遇到了这篇文章解决了我的问题:

http://amanica.blogspot.com/2010/08/archiva-gives-maven-site-plugin-invalid.html?m=1

基本上你想在父pom.xml中的/ src / site /文件夹中添加一个基本的site_en.xml。

答案 2 :(得分:0)

有一个我无法理解的原因,对我而言,只需在离线模式下运行maven就足够了。

答案 3 :(得分:0)

当我从事一个我不打算在以这种方式生成的网站提交更新的开源项目时遇到了这个问题。我想在本地测试和查看更改,但一直遇到此错误。

@Frischling用户已在上面提到了这一点(贷给他们)。事实证明,我想要的不是编辑任何现有信息或更新任何pom.xml文件,而是完全以离线模式构建。

我正在尝试运行此命令,但由于出现原始海报提到的错误而失败:

val argument = arguments?.getString("yourarg")

// Or with Safe Args

val safeArgs: FragmentBArgs by navArgs()
val yourarg = safeArgs.yourarg

要改为离线进行此构建,请执行以下命令:

mvn site

然后像我期望的那样,将输出正确生成到# Download the dependencies for the target mvn dependency:go-offline site # Build the target offline mvn --offline site 目录。

如果您拥有该项目或项目的一部分是不理想的,但是对于像我这样的情况,我却一无所有,那是一个完美的选择。