IDEA配置Maven并版本统一管理的实现
1.Maven安装
前往官网下载:https://maven.apache.org/download.cgi
将文件解压自行存放,并在刚刚下载的maven存放目录下新建文件夹: maven-repository ,用来存放本地jar包
2.Maven配置
在maven的安装目录下 :找到conf/settings.xml文件(没有打开软件,可用记事本打开)找到
<localRepository>/path/to/local/repo</localRepository>
localRepository节点默认是被注释掉的,需要把它移到注释之外,然后将localRepository节点的值改为 新建的maven-repository文件夹目录
3.IDEA全局配置Maven
打开IDEA 点击 Configure==>Settings 如下图显示
此为全局配置,新建项目后,默认应用的是该设置,进入后如下图配置
4.Maven统一管理
不知道什么是父子模块的可以去阅读我的另一篇博客文,
IDEA 创建SpringBoot 父子模块
在父级模块的pom.xml文件下
创建dependencies节点,直接添加在dependencies节点的中的依赖是每个子模块项目都直接拥有的, 简单来说 ,如果一个子模块它的父级模块为parent 在parent模块中的pom.xml文件 下中的dependencies节点下的所有依赖,子模块同样拥有,无需再引入依赖!
<properties>
<!-- Java Version -->
<java.version>1.8</java.version>
<!-- Dependency Version -->
<spring.boot.starter.version>2.3.1.RELEASE</spring.boot.starter.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.starter.version}</version>
</dependency>
</dependencies>
添加依赖时不再指定版本,而是将版本在properties节点中指定版本号,做版本统一管理
6.子模块依赖管理
图为父级模块的pom.xml ,代表着此父级模块拥有两个子模块
在modules子模块中的项目中如需要使用dependencies节点下的依赖时,子模块的pom.xml将不需要添加任何依赖
父子模块配置
在父级模块pom.xml文件,创建dependencyManagement节点,此节点中的依赖只是为了管理子模块项目使用依赖时的版本
<dependencyManagement>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>${lombok.version}</version>
</dependency>
</dependencyManagement>
如上所示,如果子模块也需要此依赖,只需要将此依赖配置在子模块的pom.xml文件下的dependencies节点下,且无需再配置version节点,这样此依赖使用的版本号同为父级模块配置的
子模块的依赖配如下:
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
总结:如果大量模块需要用同一个依赖,可将此依赖放在父级模块pom.xml文件下的dependencies节点下,反之如果只是其中某一个子模块需要用,那么将此依赖放在dependencyManagement节点下,此节点下的子模块别忘了依赖仍然需要引入,只是不需要再配置版本号
到此这篇关于IDEA配置Maven并版本统一管理的实现的文章就介绍到这了,更多相关IDEA配置Maven版本统一管理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341