介绍

  • Maven:用于构建和管理Java相关项目的工具
  • 三种工程
  • jar:包括class文件,是开发是要引用的通用类
  • war:包括WEB-INF,是做好的web应用,如网站或服务
  • pom(project object mode):做jar包的版本控制
  • 一键迁移项目
  • 远程热部署
  • 持续集成(CI)中的重要角色(配合jenkins)
  • 节省本地磁盘空间(告诉项目使用哪个jar,去哪找)

使用

  • maven安装目录
  • bin:存放启动执行脚本
  • boot:存放启动maven的引导文件
  • conf:存放maven核心配置文件
  • lib:存放maven运行时依赖jar文件
  • 项目目录结构

[Java] Maven_maven

  • 统一维护jar包
  • 把所有的jar包都放在"仓库“ 里
  • 在pom.xml里写包名和版本号
  • 不同项目共享jar包
  • maven构建项目时,默认到本地仓库找依赖,如果没有就去网上下载到本地仓库
  • maven构建项目后,全部产物在target目录中
  • maven构建生命周期
  • 清理(clean)--编译(compile)--测试(test)--打包(package)--部署(deploy)
  • 项目坐标(maven项目唯一标识)
  • groupId:公司组织名、域名倒置
  • artifactId:项目名
  • version:版本号
  • name:项目名
  • url:项目上线地址
  • properties:项目配置
  • sourceEncoding:项目编码
  • compiler.source:JDK版本
  • build:
  • fileName:当前项目名称
  • pluginManagement:项目中使用的插件版本
  • scope
  • test:编译、测试时生效,运行时无效
  • compile:默认属性,编译、测试、运行时都生效 
  • provided:编译、测试、运行时生效,仅在当前容器中生效(部署到tomcat中不生效,适用于部署容器自带依赖的情况)

仓库

  • 用于存放项目需要的jar包,实现多个项目共享
  • 设置仓库位置
  • \apache-maven-3.5.0\conf\settings.xml
  • 设置下载路径
  • 默认下载路径在国外
  • 设置成阿里云路径

Eclipse设置

  • 设置Maven路径
  • 菜单->Window->Preferences->Maven->Installations-> 指定路径
  • 设置仓库路径
  • 菜单->Window->Preferences->Maven->User Settings->Global Settings

scope

 

 

添加包

  • 给Maven项目添加jar
  • pom.xml->OverView->Add->Enter GroupId...->包名(Scope要选择compile)
  • 保存后运行
  • 无法搜索到,重建本地仓库
  • 菜单->Window->Show View->Other->Maven->Maven Repositories->Local Repository->Rebuild Index

示例

  • taotao-parent:整个项目的父工程,用来做版本控制(pom)
  • taotao-manager:用来做聚合工程(pom)
  • taotao-manager-pojo(jar)
  • taotao-manager-dao(jar)
  • taotao-manager-service(jar)
  • taotao-manager-web(war)
  • taotao-rest(war)
  • taotao-portal(war)
  • taotao-common(jar)

[Java] Maven_maven_02

[Java] Maven_jar包_03