本文是学习JavaEE开发的记录笔记
大纲
Maven
- Maven是项目管理和综合工具
- Maven可以设置按标准在非常短的时间里完成配置工作
- Maven项目的结构和内容在一个XML文件中声明-pom.xml文件
- Maven提供了一个项目对象模型(POM)文件来管理项目的构建,能够自动下载项目依赖
安装Maven
打开Maven官网选择下载Binary zip archive-Link下的.zip文件,注意在网页上有对应版本的Maven所需最低版本JDK的支持,确保自己的JDK版本在此之上
解压到安装文件夹
添加环境变量(M2_HOME/MAVEN_HOME)
将bin文件夹添加到PATH
在命令行输入mvn -version 有版本输出则安装成功
项目对象模型POM
POM是Maven中的基本单位,是一个XML文件,保存在项目基本目录的pom.xml文件中
POM包含项目如下因素:
- 项目依赖-project dependencies
- 插件-plugins
- 目标-goals
- 建立简介-build profiles
- 项目版本-project version
- 项目开发者-developers
- mailing list
POM文件
- 每个项目只有一个POM文件
- POM文件有三个必填标签:项目组编号、项目名称、版本号
1
2
3<groupId>com.harvie.project-group</groupId>
<artifactId>projectName</artifactId>
<version>1.0</version> - 在存储库中存储编号为:groupId:artifactId:version
- 根节点为project
使用Maven构建JAVA基本项目
- 首先创建项目的根目录,如我在桌面创建的MVN目录(C:\Users\admin\Desktop\MVN)
- 通过命令行进入MVN目录,输入命令mvn archetype:generate,即使用maven-archetype-quickstart插件快速创建JAVA应用程序
- 构建过程中会在某些语句停住让你输入相应信息
- Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 336:这个是根据每个用户的eclipse插件不同数字也不同,直接回车即可
- Choose a number: 6: 直接回车即可
- Define value for property ‘groupId’: :输入项目组编号,类似于组织机构名称,我输入Harvie
- Define value for property ‘artifactId’: : 输入项目名称,我输入maven-hello-world
- Define value for property ‘version’: 1.0-SNAPSHOT: : 输入项目版本号,默认为1.0-SNAPSHOT,直接回车即可
- Define value for property ‘package’: Harvie::项目打包后的jar文件名,类似于.net项目中生成的.dll文件名,直接回车即可
- Y: : 直接回车即可
- 之后可看到项目构建信息和BUILD SUCCESS项目构建完成标识
Maven项目结构
进入项目目录,在Windows Shell中输入tree可查看文件目录结构
- src/main/java存放项目源代码
- src/main/test存放单元测试代码
- pom.xml存放POM文件
编译项目
进入项目目录输入mvn clean compile就可以对项目进行编译
编译成功会显示BUILD SUCCESS,并且在target文件夹中增加了classes里面有编译的java类.class类
单元测试项目
进入项目目录输入mvn clean test就可以对项目进行单元测试
编译成功会显示BUILD SUCCESS,并且在target文件夹中增加了test-classes里面有编译的单元测试类.class文件
项目打包
将java项目打包成jar包或者war包,输入命令mvn clean package
通过命令行中的打包输出流,可以看到项目打包前会执行compile和test,之后才是项目打包操作
打包成功后在项目target文件夹中会有项目对应的.jar包
项目部署
将java项目经过清理-编译-测试-打包-将jar包放入本地仓库中,输入命令mvn install
部署完成后打开本地仓库(默认地址为C:\Users\用户名.m2\repository)
通过pom.xml配置使用.jar包
通过创建新的项目(maven-pom-test)编辑项目的pom.xml将刚才发布的.jar包应用在项目中
- 创建新的项目文件夹,并创建对应的maven文件结构:
- maven文件结构:
修改pom.xml文件添加依赖:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31<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>
<!--项目基本属性-->
<groupId>harvie</groupId>
<artifactId>maven-pom-test</artifactId>
<version>1.0-SNAPSHOT</version>
<name>maven-pom-test</name>
<!--添加依赖的jar包-->
<dependencies>
<!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--项目要使用到maven-hello-world的jar包,所以在这里添加Hello的jar包的依赖-->
<dependency>
<groupId>harvie</groupId>
<artifactId>App</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>新建.java文件调用maven-hello-world依赖包: