Maven笔记和idea2019整合


前言

在开发过程中有很多痛苦的开发经历:

  1. 包依赖的问题:jar包一般都不是独立存在的,一般一些jar也会用到其他的jar。比如a.jar依赖于b.jar,而b.jar又依赖于c.jar。当你用到a.jar的时候,你需要把3个jar包都加载进来才可以使用。当项目中用到很多jar包的时候,我们很难判断缺少哪些jar包,只有在项目运行过程报错了才知道。
  2. 包版本冲突问题:项目中用到了a.jar,a.jar依赖于c.jar的1.5版本,然后我们把这2个jar拷贝到项目中。后来又用到了b.jar,但是b.jar又依赖于c.jar的1.0版本,此时你把b.jar和c.jar的1.0版本引进来了,会发现c.jar有2个版本,发生冲突了。这种情况你要着手去解决jar包冲突的问题,也是非常痛苦的。
  3. 包的管理不方便:当我们的项目比较大的时候,我们会将一个大的项目分成很多小的项目,每个小项目由几个开发者负责,然后每个小项目都需要把这些jar拷贝一份到自己的项目目录中。
  4. 项目开发结构不统一:maven可以让大家都按照某种规范采用同一种项目结构,这样岂不是很方便么?大家按照某种约定,项目使用同样的结构来创建。
  5. 项目的生命周期控制方式五花八门:开发者除了编码之外,大多数时间都是在编译、打包、发布到测试环境,多数时间都在重复着跑单元测试、编译、打包、发布的工作。在没有自动化编译的时候,每个过程都需要我们手动去操作。

maven就是用来解决以上问题的:

包的管理和维护
统一的项目结构
统一的项目生命周期


一、Maven的安装

在这里插入图片描述

安装Maven

  1. 不要有汉字的目录
  2. 不要有空格
  3. 目录层次不要太深

配置环境变量

  1. MAVEN_HOME=安装目录
  2. Path=%MAVEN_HOME%\bin

二、Maven仓库的概念和配置

1.什么是POM

使用maven创建的项目,每个项目都有一个pom.xml配置文件,这是maven项目的配置文件。

POM的全称:Project Object Model 项目对象模型,按面向对象的思想来管理整个项目

在pom.xml文件中包含以下内容:

  1. 当前模块或项目的坐标
  2. 项目依赖了哪些jar包(常用)
  3. 项目使用了哪些插件等

2. Maven的仓库概念

项目所有的jar包都从仓库中去下载,仓库就是存放jar包的地方

仓库分类

本地仓库

相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在本地电脑上)。以后不需要从远程仓库去下载,先从本地仓库找,如果找不到才去远程仓库找。

远程仓库
中央仓库

仓库中的jar包由专业团队(maven团队)统一维护,有全球最完整,最通用的jar包。https://repo1.maven.org/maven2/

私服

在公司内部架设jar包的私有服务器,中央仓库中存放的是通用的jar包。公司自己开发的jar包可以放在公司内部的私服中供企业内部使用,私服仓库中也包含了大量中央仓库的jar包。访问私服仓库比访问中央仓库速度更快,更稳定。

第三方公共库

由大型公司搭建的服务器供大家使用的jar包服务器,例如:阿里云仓库 https://maven.aliyun.com/mvn/view

在这里插入图片描述

3.配置本地仓库

  1. 将本地仓库文件夹中的repository.rar解压,可以放在任意的位置,这是老师提供的本地仓库。
e:\repository
  1. 配置本地仓库,修改maven的安装目录中conf/settings.xml文件,在53行配置本地仓库为上面的目录。
<localRepository>e:\repository</localRepository>
  1. 可选配置,修改settings.xml文件,146行指定中央仓库的镜像。这里使用的是阿里云的中央仓库,速度比官方的快很多。注:在mirrors下面
<mirror>  
	<id>nexus-aliyun</id>  
	<mirrorOf>*</mirrorOf>    
	<url>http://maven.aliyun.com/nexus/content/groups/public</url>  
</mirror>
  1. 修改maven使用JDK的版本,187行。如果不配置就需要在idea中配置。maven默认使用的是JDK1.5的版本,这里使用1.8的版本。注:在profiles下面
<profile>    
   <id>jdk-1.8</id>    
   <activation>    
      <activeByDefault>true</activeByDefault>    
      <jdk>1.8</jdk>    
   </activation>    
   <properties>    
	  	<maven.compiler.source>1.8</maven.compiler.source>    
		  <maven.compiler.target>1.8</maven.compiler.target>    
		  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
	</properties>    
</profile>
  1. 保存文件

3. Maven的坐标

Maven坐标的概念

每个jar包在仓库中都有一个唯一标识,这就是坐标,由以下三个元素组成

坐标的元素定义

命名规范:

<fon

元素名称说明
groupId表示一级或多级目录
artifactId表示下一级目录
version表示下一级目录
  • groupId:对应一级或多级(组织或公司名字)
  • artifactId:对应一级 (项目或模块名字)
  • version:对应一级 (版本号)

4. IDEA中配置Maven环境

  1. 选择File–> Settings
    选择File–>Other Settings (配置以后新创建的项目) ,如果这个没有配置以后每创建一个新的项目都要配置一次。
  2. 选择Build,Execution,Deployment–>Build Tools–>Maven
    在这里插入图片描述
    配置上述三项信息:Maven的主目录,配置文件settings.xml和本地仓库repository目录
  3. 选择Build,Execution,Deployment–>Build Tools -->Maven–>Runner,设置Maven启动虚拟机的选项:VMOption,设置所有资源先从本地仓库查找,如果本地仓库中没有才去互联网找。
    -DarchetypeCatalog=internal
  1. 可选,如果汉字没有乱码则不用设置,Maven控制台输出中文如果出现乱码,则进行如下设置。
    VMOptions配置多个参数需要使用空格隔开
VMoptions: -Dfile.encoding=GBK  或者 -Dfile.encoding=UTF-8

总结

至此maven和maven整合idea小记到此,博主idea版本为2013.1.3,maven版本为3.5.2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值