我有一个小的maven项目。我试图通过maven-site-plugin添加生成站点,但它不起作用。当我构建这个项目时,我得到以下错误:
[错误]无法在项目服务器上执行goal org.apache.maven.plugins:maven-site-plugin:3.3:site(default-site)-wms-product:SiteToolException:无法从存储库解析站点描述符:ArtifactResolutionException:找不到站点描述符:Could not transfer artifact [PARENT-PROJECT]:xml:site_en:1.0.141.1from/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文件。
6条答案
按热度按时间4xrmg8kj1#
将attaching the site descriptor配置到父pom中的工件。
在maven 3中,核心功能已经从站点生成中分离出来了。你可以找到原因here。如果你想从子模块引用父模块的站点,你必须将site.xml附加到部署的工件上。
q43xntqr2#
我也有同样的问题,在谷歌上搜索了很多之后,发现这篇文章解决了我的问题:
http://amanica.blogspot.com/2010/08/archiva-gives-maven-site-plugin-invalid.html?m=1
基本上,您需要将基本site_en.xml添加到父pom.xml中的/src/site/文件夹中。
5sxhfpxr3#
出于某种我无法理解的原因,对我来说,在离线模式下运行一次maven就足够了。
pcrecxhr4#
我在一个开源项目中遇到了这个问题,我并不拥有这个项目,我想向以这种方式生成的网站提交更新。我想在本地测试和查看更改,但一直遇到这个错误。
用户@Frischling在上面提到了这一点(归功于他们)。事实证明,我想要的不是编辑任何现有信息或更新任何pom.xml文件,而是完全在离线模式下构建。
我试图运行这个命令,它失败了,出现了原始海报提到的错误:
若要改为脱机执行此生成,请执行以下命令:
然后,输出正确地生成到
target/site
目录,就像我预期的那样。如果你拥有这个项目或项目的一部分,这并不理想,但对于像我这样的情况,我没有拥有它,这是一个完美的选择。
q9yhzks05#
以前的答案对我不起作用。
但马克的一个,在这里,解决了我的问题:https://stackoverflow.com/a/57429991/5056068
艾蒂安
efzxgjgh6#
我遇到了下面这样的错误,我认为这是因为检查父项目站点xml。
但是我认为
org.springframework.boot:spring-boot-starter-parent:xml:site_en:2.7.4
是从父项目spring-boot-starter-parent
和版本2.7.4
和默认语言en
拼接而来的mvn site
,所以mvn仓库永远找不到这个xml。参考最后两个答案,您可以使用
mvn --offline site
在本地存储库中生成一个空的xml。第一个
mvn --offline site
将返回相同的错误并生成xml。然后你可以免费使用
mvn site
来避免检查父项目。