参考:https://blog.youkuaiyun.com/lixld/article/details/82284269
一、pom.xml文件问题
1、Project '''org.springframework.boot:spring-boot-starter-parent:2.1.12.RELEASE''' not found less... (Ctrl+F1)
Inspects a Maven model for resolution problems.
解决方案为:
因为RELEASE版本是不稳定的,于是需要指定spring的仓库,在pom.xml最后,project里面添加如下代码,然后保存pom.xml文件,就会重新从repo.spring.io中引入jar包。添加如下:
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/libs-snapshot</url>
</pluginRepository>
</pluginRepositories>
2、如下依赖没有指定版本号,是因为添加了parent标签,spring-boot-starter-parent会为我们提供常用jar版本,
其实不是不用指定,是他们一指定好了。
自己指定版本号也可以,会覆盖官方版本,自己用maven helper查看一下有没有冲突即可。
3、 Unable to import maven project: See logs for details
之后再:Help->Show log in Explorer,查看:
1) No implementation for org.apache.maven.model.path.PathTranslator was bound.
while locating org.apache.maven.model.path.PathTranslator
for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.pathTranslator(Unknown Source)
at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)
2) No implementation for org.apache.maven.model.path.UrlNormalizer was bound.
while locating org.apache.maven.model.path.UrlNormalizer
for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.urlNormalizer(Unknown Source)
at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)
2 errors
Maven和Intellij IDEA的版本对不上.重新找maven比idea要老就行。我的idea为2016.2.则再maven官网查
maven的Release notes中maven历史 Maven Releases History
2015-11-14 | 3.3.9 | announce, release notes, reference documentation |
可以,下载即可
4、Error:(3, 32) java: 程序包org.springframework.boot不存在
解决方案:因为pom文件引入的org.springframework.boot版本过高
<!-- Spring Boot的核心 2.1.12.RELEASE 高,修改为 1.5.6.RELEASE -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.12.RELEASE </version>
</parent>
<!-- springcloud版本声明 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- 引入spring boot依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 引入eureka依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/libs-snapshot</url>
</pluginRepository>
</pluginRepositories>
如果出现:
depencency xxx: not found.
原因一、原因可能为未添加版本号:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
修改为:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
原因二、
在setting.xml文件中指了默认情况下,只会从 Central中下载,而镜像一般只会镜像central库,
所以就会导致上面的”Dependency 'xxxx‘ not found"情部了。
方法一、.在settings.xml中添加对应的仓库,
方法二、在pom.xml直接添加额外的仓库。推荐第二种,如下(在</project>之前添加)
<repositories>
<repository>
<id>JBoss repository</id>
<url>https://repository.jboss.org/nexus/content/repositories/releases/</url>
</repository>
</repositories>
------------------------------------------------------------------------
maven多模块项目,需要选择对应的maven库。
如选择在idea的右侧,Profiles中,对nexus等等工具打钩,即为选择,之后更新项目
如需生成jar包,则只需在对应项目的下面,Lifecycle中选择package或者其他即可