1,什么是Maven?
Maven是一个项目管理与构建工具。(包含了一个 项目对象模型 pom,一个项目生命周期)
具有(可维护性,可扩展性,可复用性)
2, maven解决了什么问题?
jar包管理。
自动化打包。
规范。
模块化开发。
3,maven的仓库及分类?
(1)仓库是存放 项目中 所有可能使用到的jar包或war包。
本地仓库:【自己电脑里面的存储】
中央仓库:【服务器国外,maven搭建的用于存放jar包的地方(maven官方维护的仓库)。】
远程仓库(私服):【自己公司搭建的服务器,存储jar包】
4,maven仓库的配置:
(1)maven的安装目录下,conf/setting.xml 配置文件。
(2)D:\DevTools\wojiarep 本地存放位置。
(3)私服配置:
nexus-aliyun
*
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
5,maven项目的创建?
(1)通过idea去集成maven工具。
(2)右键创建maven module。
(3)声明坐标。
(4)修改pom依赖。
6,Maven工程的目录结构?
src/main/java —— 存放项目的.java 文件
src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件
src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类
src/test/resources —— 测试资源文件
target —— 项目输出位置,编译后的class 文件会输出到此目录
pom.xml——maven 项目核心配置文件
7,Maven的生命周期:
mvn clean - 清理
mvn compile -编译
mvn test -测试
mvn package -打包
mvn install -安装 【将本地代码打包后安装本地仓库供其他工程使用】
mvn deploy -部署 【将安装好的jar包发布到私服】
8, Maven的聚合工程?
继承:创建一个 parent 工程将所需的依赖都配置在 pom 中
聚合:聚合多个模块运行。
9,Maven的聚合工程中的父级工程?
(1)作用,管理子级工程。
dependencyManagement 依赖声名
10,传递依赖?
(1)a依赖b, c依赖了a ,c就有了b。
11,依赖的排除?
exclusions [a依赖了b,c依赖a,c不想要b]
<dependency>
<groupId>com.wojia</groupId>
<artifactId>goods-common</artifactId>
<exclusions>
<exclusion>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
</exclusion>
</exclusions>
</dependency>
-------------------------------------
通用的工具类公共层
和数据库交互 单独提出来一个工程
业务层独立的工程
和浏览器交互 web层
goods-parent
goods-common [jar]
goods-dao [jar]
goods-service [jar]
goods-web [war]