1.一个项目就是一个工程
如果项目非常庞大,就不适合继续使用package来划分模块。最好是每一个模块对应一个工程,利于分工协作
借助与Maven就可以将一个项目拆分成多个工程
2.项目中需要的jar包必须手动复制、粘贴到WEB——INF/lib目录下
同样的jar包文件重复出现在不同的项目工程中,一方面浪费存储空间,另外也让工程比较臃肿
借助Maven,可以将jar包仅仅保存在‘仓库’中,有需要使用的工程“引用”这个文件接口,并不需要真的把jar包复制过来
jar包需要别人替我们准备好,或到官网下载
不同技术的官网提供jar包下载的形式是五花八门的
有些技术的官网就是通过Maven或SVN等专门的工具来提供下载的
如果是以不规范的方式下载的jar包,那么其中的内容很可能也是不规范的
借助于Maven可以以一种规范的方式下载jar包,因为所有知名框架或第三方工具的jar包已经按照统一的规范存放在了Maven的中央仓库中
一个jar包依赖的其他jar包需要自己手动加入到项目中
FileUpload组件->IO组件,commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar
如果所有jar包之间的依赖都需要程序员自己非常清楚的了解,那么就会极大的增加学习成本
Maven会自动将被依赖的jar包导入进来
需要改进项目的开发和管理,需要Maven
1.maven可以管理jar文件
2.自动下载jar和他的文档,源代码
3.管理jar直接的依赖,a.jar需要b.jar,maven会自动下载b.jar
4.管理你需要的jar的版本
5.帮你编译程序,把java编译为class
6.帮你测试你的代码是否正确
7.帮你打包文件,形成jar文件,或者是war文件
8.帮你部署项目
构建是面向过程的,就是一些步骤,完成项目代码的编译,测试,运行,打包,部署等 Maven支持的构建: 1.清理:把之前项目编译的东西删除掉,为新编译的代码做准备 2.编译:java - class文件(批量的,maven可以同时把成百上千个文件编译为class) 3.测试:maven可移植性测试程序代码,验证你的功能是否正确 批量的,maven同时执行多个代码测试,同时测试很多功能 4.报告:生成测试结果的文件,测试是否通过 5.打包:把你的项目中所有的class文件,配置文件等所有资源放到一个压缩文件中 这个压缩文件就是项目的结果文件,通常java程序,压缩文件是jar扩展名 对于web应用,压缩文件扩展名是.war 6.安装:把生成的文件jar,war安装到本机仓库 7.部署:把程序安装好可以执行
POM: 一个文件 名称是pom.xml,pom翻译过来叫做项目对象模型 maven把一个项目当做一个模型使用,控制maven构建项目的过程,管理jar依赖 约定目录结构: maven项目的目录和文件的位置都是规定的 坐标: 是一个唯一的字符串,用来表示资源的 依赖管理: 管理你的项目可以使用jar文件 仓库管理: 你的资源存放位置 生命周期: maven工具的构建项目的过程,就是生命周期 插件和目标: 执行maven构建的时候用的工具是插件 继承 聚合
1.需要从maven的官网下载maven的安装包 apache-maven-3.8.2-bin.zip 2.解压安装包,解压到一个目录,非中文目录 子目录 bin :执行程序,主要是mvn.cmd conf:maven工具本身的配置文件 settings.xml 3.配置环境变量 在系统的环境变量中,指定一个M2_HOME的名称,指定他的值是maven工具安装目录,bin之前的目录 M2_HOME = D:\软件\Maven\apache-maven-3.8.2;(这是我的路径) 再把M2_HOME加入到path之中,在所有路径之前加入%M2_HOME%\bin; 4.验证,新的命令行中,执行mvn -v 注意:需要配置JAVA_HOME,指定jdk路径 出现以下内容,maven安装配置正确 Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f) Maven home: D:\软件\Maven\apache-maven-3.8.2 Java version: 1.8.0_291, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_291\jre Default locale: zh_CN, platform encoding: GBK OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
约定是大家都遵循的一个规则 每一个maven项目在磁盘中都是一个文件夹(项目-Hello) Hello/ ---/src ------/main #放你的主程序java代码和配置文件 ----------/java #你的程序包和包中的java文件 ---------/resources #你的java程序中要使用的配置文件 ------/test #放你的测试代码和文件(可以没有) ----------/java #测试程序包和包中的java文件 ---------/resources #测试java程序中要使用的配置文件 ---/pom.xml #maven的核心文件(maven项目必须有)
原文:https://www.cnblogs.com/cedric1114/p/15338405.html