一步一步学java(6):maven安装配置与使用
一、Maven简介一、Maven简介1. 啥是MavenApache Maven是一个软件项目管理和构建工具,可以帮助我们创建和管理项目基于项目对象模型POM(Poject Object Model)的概念,帮助开发者构造一个项目的完整生命周期注:POM是Maven对一个项目的描述,是Maven的核心,一个POM其实就是一个XML文件2. 使用Maven有啥好处2.1 项目的管理工具项目规则很大时
一、Maven简介
一、Maven简介
1. 啥是Maven
Apache Maven是一个软件项目管理和构建工具,可以帮助我们创建和管理项目
基于项目对象模型POM(Poject Object Model)的概念,帮助开发者构造一个项目的完整生命周期
注:POM是Maven对一个项目的描述,是Maven的核心,一个POM其实就是一个XML文件
2. 使用Maven有啥好处
2.1 项目的管理工具
项目规则很大时一定会将项目进行拆分,将一个项目拆分成多个模块,每个模块对应一个工程,多个
工程之间存储依赖关系
此时可以使用Maven的依赖管理机制,帮助我们在项目与项目之间建立依赖关系
2.2 jar包的管理工具
@通过仓库管理jar包
多个项目可能会用到相同的jar包,每个项目都要导入jar包,太麻烦
此时可以通过Maven,将jar包放到Maven仓库中,在项目中引用仓库中的jar包
@解决jar包的依赖
jar包之间存储依赖关系,并且依赖层次很复杂,很难记住
此时可以使用Maven,帮助我们自动解决jar包间的依赖关系
@自动下载jar包
项目中使用的jar数据很多,自己下载并手动添加jar包
此时可以使用Maven,帮助我们自动下载所有相关的jar包
2.3 自动化的构建工具
构建过程:编译主代码——>编译测试代码——>执行单元测试——>生成测试报告——>打包——>部
署
3. 应用包从哪里来?各种仓库
3.1 中央仓库
是一个网络仓库,存储jar包和maven插件
http://repo.maven.apache.org/maven2
http://repo1.maven.org/maven2/
http://mvnrepository.com/
3.2 本地仓库
从中央仓库下载的jar包的存放位置,也是一个仓库,只不过是存放在本地电脑上
3.3 镜像仓库
对某一仓库做的镜像
阿里云提供的 http://maven.aliyun.com/nexus/content/groups/public/
二、Maven实战
1. 下载Maven
官方下载地址:http://maven.apache.org/
2. 安装Maven
解压缩,需要目录无中文无空格。
3. 配置环境变量(仅给出Windows操作系统示例)
Maven依赖于JAVA_HOME,需要先配置java变量,前面的文章有,不再复述。
Maven环境变量:
M2_HOME=Maven安装目录
PATH=原PATH;%M2_HOME%/bin
测试:cmd命令行敲入 mvn version
4. 配置本地仓库
本地仓库的默认位置
~/.m2/repository
可以根据需要修改本地仓库的位置
编辑conf/setting.xml,如下
<localRepository>D:\xxxx\xxxx</localRepository>
5. 配置镜像仓库
编辑conf/setting.xml,此段可以到阿里云的网站上看提示,https://maven.aliyun.com/mvn/guide
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<!-- 中央仓库1 -->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<!-- 中央仓库2 -->
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
<!-- 中央仓库3 -->
<mirror>
<id>repo3</id>
<mirrorOf>central</mirrorOf>
<name>ICM</name>
<url>http://maven.icm.edu.pl/artifactory/repo/</url>
</mirror>
三、创建Maven项目
1. Java项目的创建
1.1 目录结构
Java工程约定的目录结构如下:
|项目名称
|src //程序代码
|main //程序主代码
|java //源代码
|用于存放源代码,相当于传统项目的src,
|resources //配置文件
|用于存放配置文件
|test //测试代码,目录结构与main中一样
|java
|resources
|pom.xml //maven核心配置文件
1.2 基本操作步骤:
创建Java项目
mvn archetype:generate
指定的信息如下:
archetype:(mavenarchetypequickstart) #使用骨架创建java项目
groupId:com.xxx.xxx #指定组织域名反向+项目名
artifactId:aaa #指定模块名称
version:1.0.1 #版本
package:com.xxx.xxx #包名
执行maven操作
cd aaa #先切换到项目所在的目录
mvn compile
mvn clean compile test #可以同时执行多个命令
1.3 自定义Java类
2. Web项目的创建
1.1 目录结构
Web项目的约定目录结构如下:
|项目名称
|src //程序代码
|main //程序主代码
|java //源代码
|用于存放源代码,相当于传统项目的src,
|resources //配置文件
|用于存放配置文件
|webapp //网站根目录,相当于传统web项目的WebRoot
|WEBINF
|web.xml
|test //测试代码,目录结构与main中一样
|java
|resources
|pom.xml //maven核心配置文件
1.2 基本操作步骤:
1. 创建web项目
mvn archetype:generate
指定的信息如下:
archetype:(mavenarchetypewebapp) #使用模板创建web项目
2. 执行maven操作
mvn clean compile package
3. 发布
方式1:使用外部的tomcat
将shop.war包复制到webapps目录下,然后启动tomcat
cd tomcat.../bin
./startup.sh
方式2:使用maven的tomcat插件
mvn tomcat:run
4. 访问
http://localhost:8080/shop
四、Maven命令
1. 常用命令
命令 作用 描述
archetype 创建maven项目 根据模板生成项目骨架
clean 清理 删除target目录
compile 编译 将main中的源代码编译成字节码,放在target/classes目录下
test 测试 执行测试类(使用JUnit),并生成测试报告
package 打包 将java项目打包成jar文件,将web项目打包成war文件,放在target目录下
install 安装 将项目的jar包安装到本地仓库中,供其他项目使用
deploy 发布/安装 将项目的jar包安装到中央仓库中,供其他项目使用,需要账户和密码
site 生成站点 生成关于项目介绍的网页
注意:
所有的命令都要跟在mvn的后面,如mvn archetype
所有的命令都必须在某个项目的根目录
多个命令可以一起执行
2. 生命周期
一个项目的构建build的过程通常包括:清理、编译、测试、打包、集成测试、部署等
Maven定义了三套生命周期:clean、default、site
每个生命周期之间是互相独立,每个生命周期内都包含多个阶段,这些阶段是有顺序的,后续的阶段
必须等待前面的阶段执行后才能执行
default生命周期包含:compile、test、package
五、在IDE中使用Maven
说到现在,以上的所有操作都是在cmd命令行中的,是为了更好的理解Maven,下面看看IDE中如何使用,仅列出IDEA的示例
配置maven,到Setting...中搜索Maven
指定maven安装目录和配置文件
自动更新maven项目:勾选Import Maven projects automatically,新版本的已经没有这个选项了
创建maven项目,可以在创建Project时选择maven类型,也可以在创建module时选择maven类型
New Module——>Maven——>勾选Create from archetype,再选择对应的类型,然后等待系统下载各种依赖包。
执行maven操作
Maven Projects 显示所有Maven项目
执行生命周期
自定义Maven操作
IDEA中目录是分类型的,常用的四种:
Sources Root 主代码的目录 src/main/java
Test Source Root 测试代码的目录 src/test/java
Resources Root 主代码所需资源的目录 src/main/resources
Test Resources Root 测试代码所需资源的目录 src/test/resources
更多推荐
所有评论(0)