一 Maven简介
作为 Apache 组织中的 一个颇为成功的开源项目,Maven 主要服务于基于 java 平台的项目构建,依赖管理和项 目信息管理。
二 maven的四大特性
1.依赖管理系统
Maven 为 Java 世界引入了一个新的依赖管理系统 jar 包管理 jar 升级时修改
配置文件即可。在 Java 世界中,可以用 groupId、artifactId、version 组成的
Coordination(坐标)唯一标识一个依赖。任何基于 Maven 构建的项目自身也必须定义
这三项属性,生成的包可以是 Jar 包,也可以是 war 包或者 jar 包
2.多模块构建
项目复查时 dao service controller 层分离将一个项目分解为多个模块已经是
很通用的一种方式。在 Maven 中需要定义一个 parent POM 作为一组 module 的聚合 POM。
在该 POM 中可以使用 <modules> 标签来定义一组子模块。parent POM 不会有什么实
际构建产出。而 parent POM 中的 build 配置以及依赖配置都会自动继承给子 module
3.一致的项目结构
Maven 在设计之初的理念就是 Conversion overconfiguration(约定大于配置)。其制定了一套项目目录结构作为标准的 Java 项目结
构,解决不同 ide 带来的文件目录不一致问题。
4.一致的构建模型和插件机制
通过 pom 配置 tomcat、jetty 插件
二 maven工作原理
三 Maven仓库
1.本地仓库
当 Maven 根据坐标寻找构件的时候,它首先会查看本地仓库,如果本地仓库存在,则 直接使用; 如果本地没有,Maven 就会去远程仓库查找,发现需要的构件之后,下载到本 地仓库再使用。 如果本地仓库和远程仓库都没有,Maven 就会报错。
2.远程仓库
(1)中央仓库
中央仓库是默认配置下,Maven 下载 jar 包的地方。
(2)私服
私服是另一种特殊的远程仓库,为了节省带宽和时间,应该在局域网内架设一个私有的 仓库服务器,用其代理所有外部的远程仓库。 内部的项目还能部署到私服上供其他项目使 用。
此外,一些无法从外部仓库下载的构件也能从本地上传到私服提供局域网中其他人使用
公司内部应该建立私服:
1. 节省自己的外网带宽
2. 加速 maven 构建
3. 部署第三方控件
4. 提高稳定性
降低中央仓库的负荷
常用阿里云 maven 仓库配置:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</
url>
</mirror>
(3)其他公共库
四 maven文件夹结构
五 idea基本使用
1.设置自定义快捷键
2.修改快捷键
六 idea创建项目
1.项目之间的连接点