Maven 简单入门(丐中丐)
-
POM project Object Model 项目对象模型 ,读取POM ,获取所需配置新消息,执行目标。
-
指定配置内容,
- 项目依赖
- 插件
- 执行目标
- 项目构建profile
- 项目版本
- 项目开发者列表
- 相关邮件列表信息
-
流程
-
创建pom,需要描述项目组,groupid,项目唯一id
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- 模型版本 --> <modelVersion>4.0.0</modelVersion> <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group --> <groupId>com.companyname.project-group</groupId> <!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 --> <artifactId>project</artifactId> <!-- 版本号 --> <version>1.0</version> </project>
所有pom文件都需要project 元素 和三个必要字段,groupid,artifactid,version
属性 内容 project 工程根标签 modelVersion 模型版本 groupId 工程组的表示。基本唯一。影响配置路径 artifactID 这是工程的标识。工程名称,groupId 和 artifactId 一起定义了artifact在仓库中的位置 version 版本工程号,artifact仓库中,用来区分不同版本
-
-
父pom
这里不做展开
-
maven 构建配置文件
类型 位置 项目级 定义在pom文件pom.xml中 用户级per user 定义在maven的设置文件中, %USER_HOME%/.m2/settings.xml global 定义在maven全局的设置xml中 -
仓库
-
本地 local
默认在 ./m2/respository中
-
中央 central
是由maven社区提供的仓库,其中包含了大量常用的库。
这个仓库有maven社区管理
不需要配置
通过网络才能访问
-
远程 remote
由开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的jar。
-
-
常用标签
-
build 两种build
<build> <finalName>ccweb-dev</finalName> //按照你自己的设置的名字作为包名 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>utf8</encoding> </configuration> </plugin> </plugins> </build>
主要用于编译设置
- 全局配置 project build ,针对整个项目所有情况都有效 project 直接子元素。
- 配置 profile bulid 针对不同的profile 配置 profile 的直接子元素
-
porperties
Properties可以在整个POM中使用,也可以作为触发条件(见settings.xml配置文件里activation元素的说明)。格式是
value 。 一般都在dependencies 中 version 中代替。<properties> <spring.version>4.3.6.RELEASE</spring.version> …… </properties>
-
dependencies
依赖引入
<dependencies> <!-- 引入Druid数据库连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> </dependencies>
以上,不全,建议系统看书
-