Maven(翻译为”专家”,”内行”)是跨平台的项目管理工具。
- 主要作用:服务于基于Java平台的项目构建,依赖管理和项目信息管理。
- 优点:使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情。
项目构建:【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】
maven就可以帮我们完成上述所说的项目构建过程。
Maven目录分析:
前提条件:已经安装了JDK,并配置好环境变量,在cmd中检查:
Echo %JAVA_HOME%
Java -version
1.官网下载apache-maven-3.5.4-bin.zip文件解压缩
2.设置系统环境变量:MAVEN_HOME
为F:\apache-maven-3.5.4
3.设置环境变量Path,将%MAVEN_HOME%\bin加入Path中
4.验证Maven安装是否成功,在cmd中使用mvn –v
MavenProjectRoot(项目根目录)
|—-src
|——–main
|————java ——存放项目的.java文件
|————resources ——存放项目资源文件,如spring, hibernate配置文件
|——–test
|————java ——存放所有测试.java文件,如JUnit测试类
|————resources ——存放项目资源文件,如spring, hibernate配置文件
|—-target ——项目输出位置(class和报告等信息的输出位置)
|—-pom.xml —-用于标识该项目是一个Maven项目
1.按照maven要求目录结构创建对应目录,在项目根目录下创建pom.xml
,内容如下:
<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.0modelVersion>
<groupId>cn.gacl.maven.hellogroupId>
<artifactId>hello-firstartifactId>
<version>SNAPSHOT-0.0.1version>
project>
2.编写Java类文件,Maven项目规定,所有的*.java文件必须放在src目录下的main目录下的java目录中。
3.使用maven编译项目,在cmd窗口进入到maven项目根目录,然后使用命令:mvn compile
.使用Maven编译完成之后,在项目根目录target文件夹有一个classes文件夹存放的就是编译成功后生成的.class
文件。
4.使用mvn clean
命令清除编译结果,也就是把编译生成的target文件夹删掉。
从Maven中心仓库下载到本地的jar包的默认存放在${user.home}/.m2/repository
中,${user.home}
表示当前登录系统的用户目录。
编辑maven目录conf文件夹下setting.xml
文件,加上如下代码
<localRepository>自己指定的文件夹目录localRepository>
mvn compile 编译
mvn clean 清理
mvn package 打包,默认打成jar包
mvn test 执行单元测试
mvn install 安装命令,会将打好的包,安装到本地仓库
MyEclipse中自带maven插件,eclipse需要安装,需要将安装的插件文件拷贝到eclipse安装目录的eclipse\dropins
目录下,重启eclipse,查看preferences里边出现maven,则安装成功。
接着进行maven配置,在preferences、 maven、installation、add将maven安装的路径加入,然后选中应用,点击user setting,设置maven加载的配置文件,默认用户加载的配置文件在~/user/.m2/setting.xml
,修改为之前更改的setting文件。使用cmd窗口命令时,默认maven加载的仓库在~/user/.m2
目录下。
创建工程时选择maven project,下一步,默认选择下一步会有需要选择Select an Archetype
,这时如果是java工程选择quickstart
如果是web工程选择webAPP
。
完成工程后需要在main和test目录下边分别添加resources目录。
注意:这里创建的resources目录是一个source folder
java中创建目录分为3类:source Folder、 Folder、package
source Folder:该目录下的内容会被拷贝到classpath目录下,如果是java文件,会将编译后的class文件拷贝到该目录下;
Folder:普通的文件夹
package:属于source Folder下的目录,用于区分java包
在new maven project中选中创建一个简单的工程跳过骨架下一步,然后选择packaging中选择jar,默认的打包方式,finish结束。
一般打包分为jar包和war包,jar包是普通的java打包,可以引入到我们的工程中调用,war包含WEB-INF,war包可以直接放到tomcat的webapps目录下,相当于部署了一个web应用,启动tomcat时,这个包会自动进行解压