6

我有小型 Maven 项目。我正在尝试通过 maven-site-plugin 添加生成站点,但它不起作用。当我构建这个项目时,我收到以下错误:

[错误] 无法在项目 server-wms-product 上执行目标 org.apache.maven.plugins:maven-site-plugin:3.3:site (default-site):SiteToolException:无法从存储库解析站点描述符:ArtifactResolutionException :无法找到站点描述符:无法将工件 [PARENT-PROJECT]:xml:site_en:1.0.141.1 从/到 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

5 回答 5

3

配置将站点描述符附加到父 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 中,核心功能已与站点生成分离。您可以在此处找到原因。如果要从子模块引用父模块的站点,则必须将 site.xml 附加到已部署的工件。

于 2016-12-01T10:02:07.040 回答
2

我有完全相同的问题,经过多次谷歌搜索,发现这篇文章解决了我的问题:

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

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

于 2014-05-22T13:42:48.253 回答
0

出于某种我无法理解的原因,对我来说,在离线模式下运行一次 maven 就足够了。

于 2018-06-18T08:44:23.693 回答
0

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

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

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

mvn site

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

# Download the dependencies for the target
mvn dependency:go-offline site

# Build the target offline
mvn --offline site

target/site然后像我预期的那样正确地将输出生成到目录中。

如果您拥有项目或项目的一部分,这并不理想,但对于像我这样我不拥有它的情况,这是完美的选择。

于 2020-12-14T05:19:02.297 回答
0

以前的答案对我不起作用。

但马克的一个,在这里,解决了我遇到的问题:https ://stackoverflow.com/a/57429991/5056068

艾蒂安

于 2021-11-15T17:22:27.857 回答