maven可以帮助我们解决4个问题
- jar包问题,一个完整的项目中,最起码有一半的内存空间都是用来加载jar包的,对我们的内存占用,包括启动都会造成不变,maven的出现,可以完美的解决jar包问题,maven采用的是指向一个仓库,这个仓库可以是本地,网络的中央仓库,也可以内网的私服仓库.一次创建仓库多次使用
- 编译问题,idea等开发工具都可以编译.java为.class文件,maven也可以
- maven中含有test可以快速的完成测试问题
- maven中可以直接将项目打包,进行发布
Maven的本地仓库配置
本地仓库的一些jar包,已经下载好了可以直接解压用
密码: uicg
打开Maven文件>conf>settings.xml文件
找到下图
Maven的命名
compile
compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target 目录下。
test
test 是 maven 工程的测试命令 mvn test,会执行 src/test/java 下的单元测试类。
cmd 执行 mvn test 执行 src/test/java 下单元测试类,下图为测试结果,运行 1 个测试用例,全部成功。
clean
clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。
package
package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war 包。
install
install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。
从运行结果中,可以看出:
当后面的命令执行时,前面的操作过程也都会自动执行
Maven的声明周期
maven有三套生命周期,且独立
- Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
- DefaultLifecycle 构建的核心部分,编译,测试,打包,部署等等。
- Site Lifecycle 生成项目报告,站点,发布站点。
pom.xml
<pom.xml 是 Maven 项目的核心配置文件,位于每个工程的根目录,基本配置如下:
<project > :文件的根节点 .
<modelversion > : pom.xml 使用的对象模型版本
<groupId > :项目名称,一般写项目的域名
<artifactId > :模块名称,子项目名或模块名称
<version > :产品的版本号 .
<packaging > :打包类型,一般有 jar、war、pom 等
<name > :项目的显示名,常用于 Maven 生成的文档。
<description > :项目描述,常用于 Maven 生成的文档
<dependencies> :项目依赖构件配置,配置项目依赖构件的坐标
<build> :项目构建配置,配置编译、运行插件等。