项目管理工具——Maven
Maven两大核心
1、依赖管理:maven工程真正的jar包放置在仓库,项目中只放置jar包的坐标。
仓库的种类:
①本地仓库:放置在本机的仓库
②远程仓库(私服):放置了公司内部开发所需要的jar包,本地仓库没有jar包直接通过局域网去远程仓库下载jar包
③中央仓库
仓库之间的关系:当启动maven工程时,maven工程会通过pom文件中jar包的坐标去本地仓库找对应jar包,默认情况下,如果本地仓库没有对应jar包,maven工程会自动去中央仓库下载jar包到本地仓库。
在公司里如果本地没有对应jar包,会先从私服下载jar包,如果私服没有jar包,可以先从中央仓库下载,也可以从本地上传 。
2、一键构建:maven自身集成了tomcat插件,可对项目进行编译,测试,打包,安装,发布等操作。
常用命令:clean(删掉了target目录),compile(对src/main目录下进行编译),test(对src/main和src/test下的java代码均编译了),package(打包在target目录),install(把jar包安装在本地仓库),deploy(将本地的项目上传到私服)
Maven三套生命周期:
1、清理生命周期。clean
2、默认生命周期。compile、test、
3、站点生命周期。
依赖都放在dependencies中
Maven项目标准目录结构
src/main/java目录 核心代码部分
src/main/resources 配置文件部分
src/test/java目录 测试代码部分
src/test/resources 测试配置文件
src/main/webapp 页面资源,js,css,图片等待
解决jar包冲突
1、 第一声明优先原则,哪个jar包的坐标在靠上的位置,该jar包坐标下的依赖包优先进到项目中。
2、 路径近者优先原则,直接依赖路径比传递路径近,那么最终项目进入的jar包会是路径近的直接依赖包。
3、 直接排除法。当我们要排除某个jar包下的依赖包,在配置exclusion标签的时候,内部可以不写版本号,因为此时依赖包使用的版本默认和本jar包一样。
Pom包括项目自身信息、项目所依赖的jar包信息、项目运行环境信息,比如jdk、tomcat信息
依赖信息包括: