maven学习
maven介绍
Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。
(具体介绍请自行百度)
Maven 环境配置
不同版本maven对应的java版本要求
maven | Value |
---|---|
maven 3.3 | java1.7以上 |
maven 3.2 | java1.6以上 |
maven 3.0\3.1 | java1.5以上 |
maven安装
Maven 下载
Maven 下载地址:http://maven.apache.org/download.cgi
下载解压到自己想要的路径(需配置环境变量)
maven安装(环境变量配置)
运行命令 mvn -v
安装成功
maven常用命令
示例项目
package com.shiyitiancheng.demo01;
public class HelloMaven{
public int add(int n1, int n2){
return n1+n2;
}
public static void main(String args[]){
HelloMaven hello = new HelloMaven();
int res = hello.add(10,20);
System.out.println("10+20="+res);
}
}
mvn compile
mvn compile用于编译项目compile即编译的意思
再次查看项目目录
生成target文件
文件中包含编译的.class文件
mvn clean
此命令用于删除target文件
mvn test
mvn test 除了会编译test文件下的java文件外,还会编译main文件下的java文件
使用命令后生成的文件
mvn package
用于项目打包
mvn install
执行此命令会编译打包的同时,会在本地仓库中安装
maven生命周期
项目部署的处理(默认生命周期)
项目 | Value项目 | Value |
---|---|---|
验证 validate | 验证项目 | 验证项目是否正确且所有必须信息是可用的 |
编译 compile | 执行编译 | 源代码编译在此阶段完成 |
测试 Test | 测试 | 使用适当的单元测试框架(例如JUnit)运行测试。 |
包装 package | 打包 | 创建JAR/WAR包如在 pom.xml 中定义提及的包 |
检查 verify | 检查 | 对集成测试的结果进行检查,以保证质量达标 |
安装 install | 安装 | 安装打包的项目到本地仓库,以供其他项目使用 |
部署 deploy | 部署 | 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 |
为了完成 default 生命周期,这些阶段(包括其他未在上面罗列的生命周期阶段)将被按顺序地执行。
Maven 有以下三个标准的生命周期:
- clean:项目清理的处理 (清理生命周期)
- default(或 build):项目部署的处理(默认生命周期)
- site:项目站点文档创建的处理(站点生命周期)
具体了解可查询菜鸟教程: https://www.runoob.com/maven/maven-build-life-cycle.html.
POM.xml
POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。
执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。
POM 中可以指定以下配置:
- 项目依赖
- 插件
- 执行目标
- 项目构建 profile
- 项目版本
- 项目开发者列表
- 相关邮件列表信息
<!--project 工程的根标签-->
<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>
<!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group -->
<groupId>com.companyname.project-group</groupId>
<!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
<artifactId>project</artifactId>
<!--项目产生的构件类型,例如jar、war、ear、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型 -->
<packaging>jar</packaging>
<!-- 版本号 -->
<version>1.0</version>
<!--项目的名称, Maven产生的文档用 -->
<name>banseon-maven</name>
<!--项目主页的URL, Maven产生的文档用 -->
<url>http://www.baidu.com/banseon</url>
</project>
具体了解可查询菜鸟教程: https://www.runoob.com/maven/maven-pom.html.
idea集成maven
打开idea,在setting中找到maven
注意:本地仓库会根据setting.xml中设置好的自动生成,若未设置可先在setting.xml中进行配置
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>G:\javautils</localRepository>
在红线处配置-DarchetypeCatalog=internal 防止未联网的情况下无法使用maven
使用骨架创建maven
注意:初次使用会比较慢因为需要从网上下载资源
不使用骨架,直接创建
直接创建的maven项目与标准maven目录结构基本(缺少部分可自行根据需要手动添加)
使用maven创建web项目