当前位置: 首页 > 知识库问答 >
问题:

如何通过标记通过https在maven上获得pom?

谷梁昊空
2023-03-14

我需要在其中运行

MVN clean install-pall-java,all-scala,licenses-dskiptests

但是,有一个错误是我无法从maven存储库中获取pom文件。

Downloading from repo1: http://repo1.maven.org/maven2/org/apache/apache/16/apache-16.pom
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[WARNING] 'parent.relativePath' of POM org.apache.ignite:ignite-parent:1 (E:\Ignite\apache-ignite-2.9.1-src\apache-ignite-2.9.1-src\parent\pom.xml) points at org.apache.ignite:apache-ignite instead of org.apache:apache, please verify your project structure @ org.apache.ignite:ignite-parent:1, E:\Ignite\apache-ignite-2.9.1-src\apache-ignite-2.9.1-src\parent\pom.xml, line 29, column 13
[FATAL] Non-resolvable parent POM for org.apache.ignite:ignite-parent:1: Could not transfer artifact org.apache:apache:pom:16 from/to repo1 (http://repo1.maven.org/maven2/): Transfer failed for http://repo1.maven.org/maven2/org/apache/apache/16/apache-16.pom 501 HTTPS Required and 'parent.relativePath' points at wrong local POM @ org.apache.ignite:ignite-parent:1, E:\Ignite\apache-ignite-2.9.1-src\apache-ignite-2.9.1-src\parent\pom.xml, line 29, column 13
 @
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project org.apache.ignite:apache-ignite:2.9.1 (E:\Ignite\apache-ignite-2.9.1-src\apache-ignite-2.9.1-src\pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for org.apache.ignite:ignite-parent:1: Could not transfer artifact org.apache:apache:pom:16 from/to repo1 (http://repo1.maven.org/maven2/): Transfer failed for http://repo1.maven.org/maven2/org/apache/apache/16/apache-16.pom 501 HTTPS Required and 'parent.relativePath' points at wrong local POM @ org.apache.ignite:ignite-parent:1, E:\Ignite\apache-ignite-2.9.1-src\apache-ignite-2.9.1-src\parent\pom.xml, line 29, column 13 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
<parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>16</version>
</parent>
<mirrors>
     <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>https://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

<profile>
    <id>maven-https</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <repositories>
        <repository>
            <id>central</id>
            <url>https://repo.maven.apache.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <url>https://repo.maven.apache.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories> 
</profile>

共有1个答案

马权
2023-03-14

看来这个问题已经得到了部分的回答。很可能您有一个过时的Maven版本(<3.2.3)。这就是您的构建试图访问http://repo1.maven.org/maven2/的原因。看一看描述这种行为的文章。您的设置解决方案不起作用,可能是因为http://repo.Maven.org/maven2/在Maven 3.0.4之前是默认的,但您在settings.xml中指定了https://repo.Maven.apache.org/maven2。下面的答案证实了这一点。据我所知,你有3个基本选项:

  • 将Maven更新至较新版本(3.2.3+)
  • 更改pom.xml以反映正确的endpoint
<repositories>
    <repository>
        <id>central</id>
        <url>https://repo1.maven.org/maven2/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>central</id>
        <url>https://repo1.maven.org/maven2/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>
  • 修改settings.xml以包含正确的镜像
<mirrors>
    <mirror>
        <id>centralhttps</id>
        <mirrorOf>central</mirrorOf>
        <name>Maven central https</name>
        <url>https://repo1.maven.org/maven2/</url>
    </mirror>
</mirrors>
 类似资料:
  • 我有一个java项目,它使用sbt(scala)进行构建。直到昨天,这是有效的,但今天我看到了一个问题,从maven中提取一个回购 根据我的推断,repo似乎已经移到了httpsendpoint。并且pom文件在httpsendpoint上可用。问题是,在我的项目中,这不是一个直接的依赖项,而是通过其他一些依赖项传递过来的。如何将https用于此特定依赖项? 我使用的是sbt版本0.13.5。我为

  • 我正在开发一个服务,我想用它来监控标签和实施标签策略。 一个计划中的功能是检测带有相应键不允许的值的资源。 我已经可以列出具有特定标记键的资源的ARN,现在我希望根据无效值筛选此资源列表。要做到这一点,我想使用每个资源标签的ARN查询一个列表,然后根据标签中有无效值的资源进行过滤。 我有我想做一些类似来获取指定资源的标记。 我正在使用nodejs,但我很乐意使用基于AWS cli或任何其他可以在脚

  • 5.4 通过 HTTPS 的通信 大多数智能手机应用都与互联网上的 Web 服务器通信。 作为通信的方法,我们在这里集中讨论 HTTP 和 HTTPS 的两种方法。 从安全角度来看,HTTPS 通信更为可取。 最近,Google 或 Facebook 等主要 Web 服务已经开始使用 HTTPS 作为默认设置。 自 2012 年以来,Android 应用中 HTTPS 通信实现的许多缺陷已被指出。

  • 文档页面显示boto3支持服务配额,但看起来不支持,或者我在这里做了什么不正确的事情? https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/service-quotas.html

  • 我正在尝试使用weld在我的JavaSE程序中实现依赖注入,但在使用应用程序范围的生产者时遇到了问题。这是我用最少的代码解决的问题。类: 注射点: 我希望它的生成是: 所有这些都在一个主类中绑定在一起: 当我尝试运行此命令时,我得到以下异常: 线程“main”org.jboss.weld.exceptions中出现异常。DeploymentException:WELD-001410:注入点[Bac

  • 我最近遇到了一个问题。 我需要在页面上找到一个包含特定文本的div标签。问题是,文本被内部链接标记分成两部分,因此超文本标记语言树看起来像: 为了唯一地标识div标记,我需要div文本的两部分。当然,我会想出类似XPath的方法: 但是,它不起作用,第二部分找不到。 什么是唯一描述这种标签的最佳方法?