Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
bin目录是包含mvn的运行脚本
boot目录包含一个类加载器的框架,maven使用它加载自己的类库
conf配置文件
lib包含maven运行时的依赖类库
maven环境配置,增加一个环境变量MAVEN_HOME,值是maven的安装路径(C:\Program Files\apache-maven-3.5.0) 修改path则是在path最后面添加;%MAVEN_HOME%\bin。
项目目录
项目名
-src
-main
-java
-package
-test
-java
-package
-pom.xml
常用命令
mvn -v 查看maven版本
compile 编译
test 测试
package 打包
clean 删除target
install 安装jar包到本地仓库
快速创建项目骨架
mvn archetype:generate -DgroupId=com.imooc.maven -DartifactId=
maven-service -Dversion=1.0.0SNAPSHOT -Dpackage=com.imooc.maven.demo
- -DgroupId=组织名,公司网址反写+项目名
- -DartifactId=项目名+模块名
- -Dversion=版本号
- -Dpackage=代码所存在的包名
Maven仓库
http://maven.aliyun.com/nexus/content/groups/public/
maven生命周期
清理、编译、测试、打包、集成测试、验证、部署
maven三套独立的生命周期
clean 清理项目
1.pre-clean 执行清理前的工作
2.clean 清理上一次构建生成的所有文件
3.post-clean 执行清理后的文件
default 构建项目(最核心)
compile test package install
site 生成项目站点
1. pre-site 在生成项目站点前要完成的工作
2. site 生成项目的站点文档
3. post-site 在生成项目站点后要完成的工作
4. site-deploy 发布生成的站点到服务器上
maven中pom.xml常见元素介绍
<?xml version="1.0" encoding="UTF-8"?>
<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">
<!--指定了当前pom的版本-->
<modelVersion>4.0.0</modelVersion>
<groupId>com.tiakon.maven.demo</groupId>
<artifactId>HoictasStudio-MavenDemo01</artifactId>
<version>1.0-SNAPSHOT</version>
<!--
第一个0表示大版本号
第二个0表示分支版本号
第三个0表示小版本号
0.0.1
snapshot 快照
alpha 内部测试
beta 公测
Release 稳定
GA 正式发布
-->
<!--
打包方式:默认是jar,可选war、zip、pom
<packaging></packaging>
-->
<!--指定编码格式-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--
项目名
<name></name>
项目地址
<url></url>
项目描述
<description></description>
开发人员列表
<developers></developers>
许可证信息
<licenses></licenses>
组织信息
<organization></organization>
-->
<!--依赖列表-->
<dependencies>
<!--依赖项-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
<!--<type></type>-->
<!--依赖范围-->
<!--<scope></scope>-->
<!--设置依赖是否可选(默认)false-->
<!--<optional></optional>-->
<!--排斥依赖传递列表-->
<!--
<exclusions>
<exclusion>
</exclusion>
</exclusions>
-->
</dependency>
</dependencies>
<!--依赖的管理,作用主要定义在父模块中,对子模块进行管理-->
<!--
<dependencyManagement>
<dependencies>
</dependencies>
</dependencyManagement>
-->
<!--对构件的行为提供相应的支持-->
<build>
<!--插件列表-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>
jar-no-fork
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!--通常用于子模块对父模块pom的继承-->
<!--<parent></parent>-->
<!--用来聚合运行Maven项目,指定多个模块一起编译-->
<!--
<modules>
<module></module>
</modules>
-->
</project>