Maven 和 Spring 引导 - 不可解析的父 pom - repo.spring.io(未知主机)
Maven and Spring Boot - non resolvable parent pom - repo.spring.io (Unknown host)
我正在尝试构建我的项目,但我得到了这个:
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>
有什么想法吗?
很明显这是您的网络连接问题。检查您是否可以使用浏览器访问 http://repo.spring.io。如果是,检查是否需要配置代理服务器。如果不是,您应该联系您的互联网提供商。
这是文档,如何为 Maven 配置代理服务器:https://maven.apache.org/guides/mini/guide-proxies.html
如果您在 Windows 或 OSX[= 上使用 docker-machine
(docker 22=]).
目前 docker-machine 有一个错误,如果您在 wifi 网络或 wifi 和电缆之间切换,它会失去互联网连接。
确保重新启动 docker-machine
通常:docker-machine restart default
项目上的右键 -> Maven -> 更新
Project->maven->Update Project->勾选所有复选框期望 offline 错误很快就解决了。
问题在于您的项目无法完成 Maven 构建。
遵循的步骤:
- 右键单击应用程序和 RunAs maven 安装。
- 如果您在访问在线存储库时遇到任何错误,请尝试在您的 .m2 directory.Check 下的 settings.xml 中提供代理 link for setting proxies for maven build.
- 完成后,尝试通过右键单击项目、Maven->更新 Maven 项目和 select 代码库来更新项目,并选中强制更新 Snapshot/Release 复选框。
这将更新您的 Maven 构建,并且肯定会删除您的 pom.xml
错误
在我的例子中,问题是 java pom.xml (java 1.8) 和环境变量 JAVA_HOME/JDK_HOME (java 1.7) 的版本不匹配.将环境变量 JAVA_HOME & JDK_HOME 指向 Java 1.8 后,问题得到解决。
对于遇到这个问题的任何人,我将 post 解决类似问题(除了 uknown host
部分之外的相同错误消息)。
自 2020 年 1 月 15 日起 maven central no longer supports HTTP,支持 HTTPS。
因此,spring 个存储库 switched to HTTPS as well
因此,解决方案是将网址从 http://repo.spring.io/milestone
更改为 https://repo.spring.io/milestone
。
降级你的版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version><change this version></version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
构建和撤消版本,构建。
2.1.6.RELEASE 到 1.3.3.RELEASE 构建
撤消
1.3.3 到 2.1.6 构建(在我的例子中问题已解决)
它帮助了我们。
如前所述,可能是网络问题或代理配置问题。
我在搜索相同问题时发现了这个问题。在我的例子中,它是代理配置。
这里发布的答案没有解决我的问题,因为每个 link 都建议一个显示用户名和密码的配置,但我无法使用它。
我在其他地方搜索它,发现要在 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>
希望对你有用。
如果您正在使用 docker 服务并且您已切换到其他网络。您需要重新启动 docker 服务。
服务docker重启
这解决了我在 docker 中遇到的问题。
在pom.xml中(在eclipse中加载有效pom.xml后),你可能会看到它“http://repo.maven.apache.org/maven2" under central repository instead of "https://repo.maven.apache.org/maven2”。修复它
温馨提示:我试过用idea和import maven,遇到了同样的问题,所有方法都试过了,还是不行。最后,我发现是因为root权限...我用管理员权限打开idea,一切正常,希望你不要像我一样傻...
如果以上所有方法都不起作用。试试这个。
如果您使用的是 IntelliJ。检查以下设置:
可能是 ~/.m2/settings.xml
限制连接到互联网。
右击pom.xml>maven>更新maven项目>勾选Snapshots/Releases
的强制更新
出现错误“不可解析的父 POM:无法传输工件等”后,
我发现我确实需要配置代理服务器。
然而,尽管重新启动等,错误只是在执行以下操作后才消失:
mvn dependency:purge-本地存储库
猜测这与重新解析依赖关系有关:
Apache documentation about purging local repository dependencies
我遇到了同样的问题。原因是互联网连接。我换了ISP就解决了。
这对我有用!
尝试导航到 Maven 选项卡,然后单击安装。
完成后,再次尝试解决依赖关系。
我正在尝试构建我的项目,但我得到了这个:
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>
有什么想法吗?
很明显这是您的网络连接问题。检查您是否可以使用浏览器访问 http://repo.spring.io。如果是,检查是否需要配置代理服务器。如果不是,您应该联系您的互联网提供商。
这是文档,如何为 Maven 配置代理服务器:https://maven.apache.org/guides/mini/guide-proxies.html
如果您在 Windows 或 OSX[= 上使用 docker-machine
(docker 22=]).
目前 docker-machine 有一个错误,如果您在 wifi 网络或 wifi 和电缆之间切换,它会失去互联网连接。
确保重新启动 docker-machine
通常:docker-machine restart default
项目上的右键 -> Maven -> 更新
Project->maven->Update Project->勾选所有复选框期望 offline 错误很快就解决了。
问题在于您的项目无法完成 Maven 构建。 遵循的步骤:
- 右键单击应用程序和 RunAs maven 安装。
- 如果您在访问在线存储库时遇到任何错误,请尝试在您的 .m2 directory.Check 下的 settings.xml 中提供代理 link for setting proxies for maven build.
- 完成后,尝试通过右键单击项目、Maven->更新 Maven 项目和 select 代码库来更新项目,并选中强制更新 Snapshot/Release 复选框。
这将更新您的 Maven 构建,并且肯定会删除您的 pom.xml
错误在我的例子中,问题是 java pom.xml (java 1.8) 和环境变量 JAVA_HOME/JDK_HOME (java 1.7) 的版本不匹配.将环境变量 JAVA_HOME & JDK_HOME 指向 Java 1.8 后,问题得到解决。
对于遇到这个问题的任何人,我将 post 解决类似问题(除了 uknown host
部分之外的相同错误消息)。
自 2020 年 1 月 15 日起 maven central no longer supports HTTP,支持 HTTPS。 因此,spring 个存储库 switched to HTTPS as well
因此,解决方案是将网址从 http://repo.spring.io/milestone
更改为 https://repo.spring.io/milestone
。
降级你的版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version><change this version></version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
构建和撤消版本,构建。 2.1.6.RELEASE 到 1.3.3.RELEASE 构建 撤消 1.3.3 到 2.1.6 构建(在我的例子中问题已解决) 它帮助了我们。
如前所述,可能是网络问题或代理配置问题。
我在搜索相同问题时发现了这个问题。在我的例子中,它是代理配置。
这里发布的答案没有解决我的问题,因为每个 link 都建议一个显示用户名和密码的配置,但我无法使用它。
我在其他地方搜索它,发现要在 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>
希望对你有用。
如果您正在使用 docker 服务并且您已切换到其他网络。您需要重新启动 docker 服务。
服务docker重启
这解决了我在 docker 中遇到的问题。
在pom.xml中(在eclipse中加载有效pom.xml后),你可能会看到它“http://repo.maven.apache.org/maven2" under central repository instead of "https://repo.maven.apache.org/maven2”。修复它
温馨提示:我试过用idea和import maven,遇到了同样的问题,所有方法都试过了,还是不行。最后,我发现是因为root权限...我用管理员权限打开idea,一切正常,希望你不要像我一样傻...
如果以上所有方法都不起作用。试试这个。
如果您使用的是 IntelliJ。检查以下设置:
可能是 ~/.m2/settings.xml
限制连接到互联网。
右击pom.xml>maven>更新maven项目>勾选Snapshots/Releases
的强制更新出现错误“不可解析的父 POM:无法传输工件等”后, 我发现我确实需要配置代理服务器。
然而,尽管重新启动等,错误只是在执行以下操作后才消失: mvn dependency:purge-本地存储库
猜测这与重新解析依赖关系有关: Apache documentation about purging local repository dependencies
我遇到了同样的问题。原因是互联网连接。我换了ISP就解决了。
这对我有用!
尝试导航到 Maven 选项卡,然后单击安装。
完成后,再次尝试解决依赖关系。