什么是maven:本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM:Project Object Model)。
作用:
jar包管理,直接写标签自动下载,避免资源间的版本冲突问题统一工程结构,提供标准的、跨平台的自动化项目构建方式提供插件方便开发人员打包安装包下载
官网:http://maven.apache.org/
下载地址:http://maven.apache.org/download.cgi
进入cmd执行javac命令确认java环境变量无误:javac
不要包含中文以及特殊符号
不要删除原有的path,直接在path中添加一下信息%MAVEN_HOME%\bin
概念:用于储存资源,包含各种jar包
分类:
本地仓库:本电脑远程仓库:非本机电脑 中央仓库:开源私服:部门/公司范围内maven中描述仓库中资源的位置
坐标: 唯一确定某一个文件夹,然后就能够找对应的jarhttps://mvnrepository.com/主要组成:
groupId:定义当前maven项目隶属组织名称artifactId:定义当前maven项目名称version:定义当前项目版本号进入maven_home的目录
进入conf目录
编辑settings文件
修改本地仓库地址
<localRepository>本地仓库目录</localRepository>配置阿里镜像
在mirros标签下面添加一下内容
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>和普通工程一样只是选择的是maven
注意最后创建完成后的弹窗选择:Enable Auto-Import
maven工程和普通工程使用唯一区别在于jar可以通过pom指定
添加插件到pom文件中
<dependencies> </dependencies> <!--构建--> <build> <!--设置插件--> <plugins> <!--具体的插件配置--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <port>80</port> <path>/</path> </configuration> </plugin> </plugins> </build>具有传递性,可分为直接依赖、间接依赖;路径优先,声明优先
效果: 导入其他包如果说该包依赖于其他jar你在当前项目也会获得这些jar
可选依赖
可以选择依赖的jar包不给其他工程可见
<!--设置当前项目所依赖的所有jar--> <dependencies> <!--设置具体的依赖--> <dependency> <!--依赖所属群组--> <groupId>mysql</groupId> <!--依赖所属项目--> <artifactId>mysql-connector-java</artifactId> <!--依赖版本号--> <version>8.0.18</version> <optional>true</optional> </dependency> </dependencies>排除依赖
主动排除送的jar
<dependency> <groupId>com.itheima</groupId> <artifactId>maven-hello</artifactId> <version>1.0-SNAPSHOT</version> <exclusions> <exclusion> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </exclusion> </exclusions> </dependency>compile–>test-complile–>test–>package–>install
生命周期特点
执行后面的生命周期也会先顺序执行前面的生命周期clean
清除target目录,清除缓存package
打包工程install
将jar安装到本地仓库