最近在写一个项目的时候,有两个module,A是一个Spring boot,B是一个没有使用框架的module。
问题一:
B库很长时间在执行Downloading plugins for,如果中途退出了idea,插件没有下载完,再次进入idea,会出现unresolved plugin的报错
分析:
这个问题可以通过两个方面来解决:
1、更改仓库地址,提高下载速度,一运行,很快就下载完成。
2、重新下载,需要等待较长的时间
解决:
1、解决下载慢的问题
1、设置其他的仓库地址,或者其他地方下载,可以下载快一些。如何设置可以查看这里
2、重新下载
在上面的路径中,找到对应包名路径下的 .lastUpdated文件,全部找出来删除,之后reimport,就可以开始下载
问题二:
A B 两个module 的maven plugin中各个插件的版本竟然不一样。
于是产生了两个问题
-
maven plugin中各个插件的版本控制是在哪里
-
解决下载慢的问题
-
unresolved plugin
分析:
一、Maven Plugin中各个插件的版本控制
设置插件版本:
Plugin的插件版本是可以通过pom.xml文件进行控制,其中还可以指定编译java版本,下面介绍三种不同的设置方式:
1、设置maven-resources-plugin插件的版本为2.4.3。其他插件版本设置类似
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
</dependency>
2、设置maven-compiler-plugin插件版本为3.1,指定编译java版本为1.8。其他插件版本设置类似
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
3、设置maven-compiler-plugin插件版本为3.7.0,指定编译java版本为1.8。其他插件版本设置类似
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
</properties>
关于各个插件的具体作用,请查看项目管理插件maven-plugins
二、为什么A B两个Module plugin版本不一致
A Module spring boot 项目
spring boot 项目中的plugin版本是在框架中定义的,经过我的查找,终于找到了声明版本的pom.xml文件
从下面开始:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
spring-boot-starter-parent——>spring-boot-maven-plugin——>spring-boot-loader-tools——>spring-boot-tools——>spring-boot-dependencies
在这个spring-boot-dependencies pom.xml文件中,找到了一下代码,瞬间豁然开朗
<properties>
...
<maven-install-plugin.version>2.5.2</maven-install-plugin.version>
...
</properties>
其中省略了很多很多,看到这里maven-install-plugin的版本是2.5.2、和上图中的版本一致
B Module 项目
如果没有指定plugin的版本,那么系统会使用默认的版本,默认版本是由maven控制的,具体在这里https://maven.apache.org/plugins/index.html查看
例如查看install-plugin的版本https://maven.apache.org/plugins/maven-install-plugin/install-mojo.html,版本是2.5.2,和上面显示的一致
参考:
maven提示错误,unresolved plugin解决方案
在pom.xml文件中指定编译的版本
显式指定maven插件的版本号
运行maven插件的时候如何指定版本?
maven的pom报plugins错误的解决方法
【MAVEN】项目管理插件maven-plugins
maven项目建立pom.xml报无法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3
解決 IDEA Create Maven Project 卡在 Downloading plugins for …
Intellij IDEA Maven 下载慢,需要这样设置配置文件。