MAVEN

MAVEN

MAVEN能做什么

1.管理jar包和依赖
2.一键构建,将java源码编译成二进制字节码
3.单元测试,可以将指定目录下的单元测试一次性执行完成并返回结果
4.项目打包,将代码,依赖资源和配置整合到一起,定性打包,如果是web项目,还需要将之发布到服务器

MAVEN的标准目录结构

maven内容

核心代码:Java代码最终打到jar包中的部分,修改后需要重新打jar包
配置文件:不打到jar包,修改后只需要重启项目
测试代码:
测试配置文件:

maven结构

对应maven的内容,maven结构就是
src/main/java 核心代码部分
src/main/resources 配置文件
src/test/java 测试代码
src/test/resources 测试配置文件
src/main/webapp web项目的页面资源,包括js,css,图片等

MAVEN命令

maven每一个命令实际上都对应一个插件,你可以自己在pom中定义插件build--plugins--plugin,比如:

一键式构建web项目

进入maven项目目录下
执行:mvn tomcat:run 命令
注意:在执行tomcat:run命令时,默认使用的tomcat是maven的自带插件,此时在启动tomcat时可能会出现sevlet cannet be cast to javax.servlet.Servlet的报错,原因就是在pom中导入的包和maven自带的包出现冲突,解决办法就是在导入servlet的依赖包时加上配置provided这样在编译时使用导入的包而在运行时则使用maven插件的包。
scope的范围配置如图:

mvn clean ---清除编译的文件
mvn compile ---编译源码文件成class文件
mvn test ---编译测试代码,并一并编译源码代码
mvn package --编译源码和测试代码并打成指定的包
mvn install ---编译源码和测试代码并打成指定的包并将包推到本地仓库

MAVEN生命周期

前五个命令可以直接mvn command 执行,最后deploy则需要配置

清除编译信息 编译 测试 打包 安装 发布
clean compile test package install deploy
清理独立形成一个生命周期 1 2 3 4 5默认生命周期,后面的命令执行时都会将前面所有步骤的生命周期都执行一遍

MAVEN概念模型

本博客为Swagger-Ranger的笔记分享,文章会持续更新
文中源码地址: https://github.com/Swagger-Ranger
欢迎交流指正,如有侵权请联系作者确认删除: liufei32@outlook.com

原文地址:https://www.cnblogs.com/Swagger-Ranger/p/10671363.html