Maven和Spring Boot - 不可解析的父pom - repo.spring.io(未知主机)

时间:2015-08-20 17:50:23

标签: spring maven spring-boot pom.xml parent-pom

我正在尝试构建我的项目,但我明白了:

Non-resolvable parent POM: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:1.3.0.M3 from/to spring-snapshots (http://repo.spring.io/snapshot): repo.spring.io and 'parent.relativePath' points at no local POM @ line 16, column 10: Unknown host repo.spring.io -> [Help 2]

以下是我指定pom.xml的父级的方法:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.0.M3</version>
        <relativePath></relativePath>
    </parent>

为空,以便强制maven在远程存储库中查找父级。但是,它说 repo.spring.io是一个未知的主机

以下是我在pom.xml中定义存储库的方法:

<repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>http://repo.spring.io/milestone</url>
        </repository>
    </repositories>

<pluginRepositories>
    <pluginRepository>
        <id>spring-snapshots</id>
        <url>http://repo.spring.io/snapshot</url>
    </pluginRepository>
    <pluginRepository>
        <id>spring-milestones</id>
        <url>http://repo.spring.io/milestone</url>
    </pluginRepository>
</pluginRepositories>

有什么想法吗?

15 个答案:

答案 0 :(得分:18)

显然这是您的互联网连接问题。如果您可以使用浏览器访问http://repo.spring.io,请检查。如果是,请检查是否需要配置代理服务器。如果不是,请联系您的互联网提供商。

以下是为Maven配置代理服务器的文档:https://maven.apache.org/guides/mini/guide-proxies.html

答案 1 :(得分:18)

对于遇到这个问题的任何人,我都会将其发布到类似问题的解决方案上(除了uknown host部分,错误消息相同。)

自2020年1月15日起,Maven Central no longer supports HTTP开始支持HTTPS。 因此,春季仓库switched to HTTPS as well

因此,解决方案是将网址从http://repo.spring.io/milestone更改为https://repo.spring.io/milestone

答案 2 :(得分:4)

问题在于您的项目无法完成maven构建。 要遵循的步骤:

  1. 右键单击应用程序和RunAs maven安装。
  2. 如果您在到达repos online时遇到任何错误,请尝试在.m2目录下的settings.xml中提供代理。请检查setting proxies for maven build的此链接。
  3. 完成后,尝试通过右键单击项目,Maven->更新Maven项目并选择代码库来执行更新项目,并选中“快照/发布的强制更新”复选框。
  4. 这将更新您的maven构建,并且肯定会使用pom.xml删除您的错误

答案 3 :(得分:1)

如果您正在使用docker-machine Windows OSX 上的泊坞窗)。

目前docker-machine有一个错误,如果你在wifi网络或wifi和电缆之间切换,它会失去互联网连接。

确保重新启动docker-machine

通常:docker-machine restart default

答案 4 :(得分:1)

项目中的Rigth按钮 - &gt; Maven - &gt;更新

答案 5 :(得分:1)

项目 - &gt; maven-&gt;更新项目 - &gt;勾选所有复选框,预计离线,错误很快就会解决。

答案 6 :(得分:0)

这是您的互联网连接问题。可能存在一些限制因素导致您无法通过浏览器访问http://repo.spring.io

答案 7 :(得分:0)

在我的情况下,问题出在pom.xml(java 1.8)和环境变量JAVA_HOME / JDK_HOME(java 1.7)的Java版本不匹配。将环境变量JAVA_HOME和JDK_HOME指向Java 1.8之后,问题得到解决。

答案 8 :(得分:0)

正如人们已经提到的,可能是互联网问题或代理配置。
我在搜索同一问题时发现了这个问题。就我而言,这是代理配置。
此处发布的答案不能解决我的问题,因为每个链接都建议一个显示用户名和密码的配置,而我不能使用它。
我在其他地方搜索时,发现要在settings.xml上进行配置,我需要进行一些更改。这是最终代码:

<profiles>
    <profile>
       <id>MavenRepository</id>
           <repositories>
            <repository>
                <id>central</id>
                <url>https://repo1.maven.org/maven2</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
                <releases>
                    <enabled>true</enabled>
                </releases>
            </repository>
        </repositories>
    </profile>
</profiles>

<activeProfiles>
    <activeProfile>MavenRepository</activeProfile>
</activeProfiles>

我希望会有用。

答案 9 :(得分:0)

如果您正在使用docker服务,并且已切换到其他网络。您需要重启docker服务。

服务docker重新启动

这解决了我在docker中的问题。

答案 10 :(得分:0)

只是提醒一下:我尝试使用idea并导入了maven,并且遇到了相同的问题,我尝试了所有解决方案,但均未解决。最终,我发现这是由于具有root用户访问权限...我以管理员访问权限打开了主意,并且一切正常,希望您不要像我一样愚蠢...

答案 11 :(得分:0)

如果以上所有内容均无效。尝试这个。 如果您使用的是IntelliJ。检查以下设置: enter image description here

可能~/.m2/settings.xml受限制才能连接到互联网。

答案 12 :(得分:0)

在 pom.xml 上右键 > maven > update maven project > 检查 Snapshots/Releases 的强制更新

答案 13 :(得分:-1)

降级您的版本

StaticHandler.create().setDefaultContentEncoding("UTF-8");

构建并撤消版本Build。 2.1.6.RELEASE到1.3.3.RELEASE构建 撤消 1.3.3至2.1.6构建(对于我来说问题已解决) 它帮助了我们。

答案 14 :(得分:-1)

在pom.xml(在eclipse中加载有效的pom.xml之后)中,您可能会在中央存储库下看到它“ http://repo.maven.apache.org/maven2”,而不是“ https://repo.maven.apache.org/maven2”。修复