java 不可解析的导入 POM 找不到
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/47280247/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Non-resolvable import POM Failure to find
提问by ip696
I experimented with spring boot like module in parent pom and now I get error
我在父 pom 中尝试了类似 spring boot 的模块,现在出现错误
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Failure to find org.springframework.boot:spring-boot-dependencies:pom:2.0.0.M6 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ line 30, column 19
@
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project mydomain.project:main-project:1.0-SNAPSHOT (D:\gitProjects\main-server\sources\pom.xml) has 1 error
[ERROR] Non-resolvable import POM: Failure to find org.springframework.boot:spring-boot-dependencies:pom:2.0.0.M6 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ line 30, column 19 -> [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
I tried delete myproject in .m2
local repo
我尝试在.m2
本地仓库中删除 myproject
I have maven project with 2 modules(simple java and spring boot). I extract parent from spring boot to main pom like dependensyManagment and set paren to spring boot - main project. After that I get this error
我有 2 个模块的 maven 项目(简单的 java 和 spring boot)。我像dependensyManagment一样从spring boot中提取父级到主pom,并将paren设置为spring boot - 主项目。之后我收到这个错误
I revert changes and all works fine. The step by step I faunt point when all crush
我恢复更改并且一切正常。一步一步我放肆点当所有的美眉
- I add this to main pom
- 我将此添加到主 pom
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.0.0.M6</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.0.0.M6</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
- in spring boot I change this
- 在弹簧靴中我改变了这个
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.M6</version> <relativePath/> <!-- lookup parent from repository --> </parent>
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.M6</version> <relativePath/> <!-- lookup parent from repository --> </parent>
to this:
对此:
<parent>
<artifactId>main-project</artifactId>
<groupId>main.project</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
回答by ph1l
The version 2.0.0.M6 isn't located in the repo http://repo.maven.apache.org/maven2. If you wan't to use this version you have to use the maven repo http://repo.spring.io/milestone. So add it to your POM file:
版本 2.0.0.M6 不在 repo http://repo.maven.apache.org/maven2 中。如果你不想使用这个版本,你必须使用 maven repo http://repo.spring.io/milestone。所以把它添加到你的 POM 文件中:
<repositories>
<repository>
<id>spring-milestone-repo</id>
<url>http://repo.spring.io/milestone/</url>
</repository>
</repositories>
I would recommend you to use the latest release version of spring-boot (1.5.8.RELEASE), not a milestone version. I don't know how your POM looks like, but you can define spring boot in your POM in different ways:
我建议您使用 spring-boot (1.5.8.RELEASE) 的最新发布版本,而不是里程碑版本。我不知道你的 POM 是什么样子,但你可以用不同的方式在你的 POM 中定义 spring boot:
1. Using the Spring Boot parent POM
1.使用Spring Boot父POM
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
Then you can add the dependencies you wish to use e.g.:
然后你可以添加你想要使用的依赖项,例如:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
See: https://spring.io/guides/gs/spring-boot/
见:https: //spring.io/guides/gs/spring-boot/
2. Declare Spring-Boot in Dependency-Management
2. 在依赖管理中声明 Spring-Boot
If you already using an own parent POM, you could also import the spring boot dependency management in your POM:
如果你已经在使用自己的父 POM,你也可以在你的 POM 中导入 spring boot 依赖管理:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.8.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Same as in variant #1 you can declare afterwards the dependencies of spring boot you wish to use.
与变体#1 相同,您可以在之后声明您希望使用的spring boot 的依赖项。