如何避免在maven站点插件中检查父项目?

如何避免在maven站点插件中检查父项目?,maven,maven-site-plugin,Maven,Maven Site Plugin,我有一个小型的maven项目。我试图通过maven站点插件添加生成站点,但它不起作用。当我构建此项目时,会出现以下错误: [错误]无法在project server wms产品:SiteToolException:无法从存储库解析站点描述符:ArtifactResolutionException:无法定位站点描述符:无法传输工件[PARENT-project]:xml:site_en:1.0.141.1 from/to eclipse():到的连接被拒绝 我的项目是其他项目的扩展,所以在我的po

我有一个小型的maven项目。我试图通过maven站点插件添加生成站点,但它不起作用。当我构建此项目时,会出现以下错误:

[错误]无法在project server wms产品:SiteToolException:无法从存储库解析站点描述符:ArtifactResolutionException:无法定位站点描述符:无法传输工件[PARENT-project]:xml:site_en:1.0.141.1 from/to eclipse():到的连接被拒绝

我的项目是其他项目的扩展,所以在我的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>

基本服务器产品
XXXXXXXXXX
1
org.apache.maven.plugins
maven站点插件
3.3

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

我有完全相同的问题,在谷歌搜索了很多之后,我发现了这篇文章,它解决了我的问题:

基本上,您希望将一个基本site_en.xml添加到父pom.xml中的/src/site/文件夹。

配置到父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>


. 如果要从子模块中引用父模块的站点,则必须将site.xml附加到已部署的工件。

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

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

User@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
目录,就像我预期的那样


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

我假设您的问题是基于以下原因定位的:
连接到http://maven.eclipse.org 拒绝
。否,这个关于maven.eclipse.org的错误只显示maven搜索了我的存储库,没有找到父项目的site.xml(因为它不存在,也永远不会存在)。之后,maven尝试在其他存储库中查找。但它没有任何意义。真正的问题是,在我的项目中,maven不应该尝试搜索partent的site.xml,因为它不存在。解决的办法是移除一个假人。。。复制粘贴到父pom中的条目。似乎maven站点在为孩子们生成站点时以某种方式使用了这个url。(这可能会对未来的读者有所帮助,但我知道它并没有真正回答这个问题,因为在这种情况下@daprog无法访问父pom)感谢您的帮助,在做了一些小改动后,它对我起到了作用-我不得不在我的本地repo中将此文件添加为PARENTPOM-VERSION-site_en.xml。这个答案对我不起作用。虽然我最终能够解析父POM的(空)site_en.xml,但我现在陷入了困境,因为插件正在尝试解析祖父母POM的站点描述符,我无法控制。我只想生成一个网站,而不必咨询家长POM。同样的事情发生在我身上。。。在尝试本地m2之前,它似乎在远程回购中寻找父描述符!