文章目录
一、什么是Maven([ˈmeɪvn])
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
二、Maven能够做什么?
1.大型的项目成百上千个jar导入,容易冲突,当时交给maven来处理,一切就轻松多了
2.maven可以编译(IDE)
3.maven可以方便地进行单元测试
4.maven可以方便工程项目的打包(maven打包后的项目空间更小)
三、Maven 的核心功能
1.依赖管理:maven工程对jar包管理的过程(maven工程的jar包都会放置在maven的jar包仓库中去)
2.项目的一键构建:
传统的项目都要经历编译、测试、运行、打包、安装、部署等过程,而maven项目可以通过maven去管理这些过程。一键构建指的是使用maven的一个命令就可以快速完成上边的一系列过程。(mvn tomcat:run)
四、Maven仓库
仓库分三类:本地仓库(注意本地库的配置)、远程仓库(私服)、中央仓库
五、Maven项目的一般架构
src/main/java目录 核心代码部分
src/main/resources目录 配置文件部分
src/test/java目录 测试代码部分
src/test/resources目录 测试配置文件
src/main/webapp目录 页面资源,js,css,图片等资源
六、Maven 常用命令
mvn clean:清理target目录,清除项目编译信息
mvn compile:编译,会生成一个target的文件夹,存放编译后的内容
mvn test:测试,也会生成一个target的文件夹,存放测试后的内容(会包括了编译的内容)
mvn package:打包,也会生成一个target的文件夹,存放编译后的内容(会包括测试的内容)
mvn install:安装,也会生成一个target的文件夹,存放编译后的内容(会包括打包的内容)
mvn deploy:发布,也会生成一个target的文件夹,存放编译后的内容(会包括安装的内容)
七、Maven 生命周期
默认生命周期:compile test package install deploy
八、Maven 的依赖坐标信息 dependency
需要找到jar包,就必须依靠坐标信息,坐标信息一般包括groupId(公司名称)、artifactId(项目名称)、version(版本名称)
注意:在idea中创建好之后,到Setting-Maven-Runner-vmoption添加:-DarchetypeCatalog=internal
九、idea中创建Maven工程
注意:maven上运行的是tomcat6版本,不能使用jdk1.8版本的,只能使用1.7、1.6的。但是也可以更改使用的Tomcat版本,pom.xml配置如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8888</port>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<target>1.8</target>
<source>1.8</source>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
十.pom基本配置
pom.xml 是 Maven 项目的核心配置文件,位于每个工程的根目录,基本配置如下:
:文件的根节点 .
: pom.xml 使用的对象模型版本
:项目名称,一般写项目的域名
:模块名称,子项目名或模块名称
:产品的版本号 .
:打包类型,一般有 jar、war、pom 等
:项目的显示名,常用于 Maven 生成的文档。
:项目描述,常用于 Maven 生成的文档
:项目依赖构件配置,配置项目依赖构件的坐标
:项目构建配置,配置编译、运行插件等。