Maven介绍/安装/使用

Maven简介

我是如何发现Maven的呢?
在用Eclipse 搭建SSH框架的时候,发现各种jar包的导入 比较混乱和麻烦,无意间在网上看到了Maven 的介绍,于是开始学习Maven ----KOG

什么是Maven

Maven 是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具;
Maven 的核心功能就是合理描述项目间的依赖关系(也就是通过 porm.xml 文件的配置来获取jar包,而不是手动去添加)。需要用 porm.xml 来获取jar包,首先该项目必须是个maven 项目,maven项目就是在java项目和web项目的上面包括一层maven,本质上java项目还是java项目,web项目还是web项目,但是包括了一层maven后, 就可以使用maven功能了;
porm.xml 获取junit的jar包的编写:

<dependencies> //所依赖的jar包统一放在这个下面
	<dependency> //依赖的jar,这里写的是junit这个jar
		<groupId>junit</groupId>//groupId: 一般为包名,也就是域名的反写
		<artifactId>junit</artifactId> //artifactId : 项目名
		<version>3.8.1</version>  //version: 版本号
	</dependency>
	<dependency>
	//其他所要依赖的jar就在dependency下面编写,而dependency 在dependencies下
	</dependency>
	...
</dependencies>

加入上面的 porm.xml 属于 A项目,那么A项目就是一个maven项目,通过上面的三个属性就能够找到junit 对应版本的jar包,那么junit项目也是个maven项目,junit的maven项目中的 porm.xml 也就会有三个标识,如下:

//会有这三个属性来标识自己,目的就是为了让别人通过这三个属性找到自己
<groupId>junit</groupId>   //给自己一个唯一标识
<artifactId>junit</argifactId>  //自己的项目名称
<version>3.8.1</version>  //版本号
<packaging>jar</packaging>  //打包后为 jar包

然后别的maven项目就可以通过这三个属性找到junit项目的jar包了,所以每个maven项目都会要求写上这三个属性值得。

Maven下载及安装配置

1,JDK检查

确保已经安装了 jdk, 已经在环境变量中配置了java_home ,已经修改了path

2,下载maven及环境配置

  1. 下载:maven下载地址
  2. 解压maven到某一指定路径,如:D:\apache-maven-3.5.1
  3. 环境配置,新建 MAVEN_HOME(随便取名),设置为:D:\apache-maven-3.5.1。 然后修改path,添加
    %MAVEN_HOME%\bin。
  4. 测试:在命令行 输入 mvn -v ,如果弹出版本号等信息,这说明配置成功

Maven的使用

什么是仓库:

通过 porm.xml 中的配置,就能够获取想要的jar包,但是这些jar包从哪里来,或者说我们从哪里获取到这些jar包的? 从仓库
仓库分为:本地仓库,第三方仓库(私服),中央仓库

1,本地仓库

Maven 会将工程中依赖 的构建(jar包)从远程中下载到本机的一个目录下管理,每个电脑默认的仓库是在 $user.home/.m2/repository 下,例如我的路径为:C:\Users\Administrator.m2\repository;
当然我们可以修改默认的仓库路径,在 $MAVEN_HOME/conf/setting.xml 文件中修改:
在这里插入图片描述
E:\apache-maven-3.5.4\Warehouse 就是我们自己创建的本地仓库,将网上下载的所有jar包,都丢到这个路径下,我们就可以直接通过maven的porm.xml文件直接拿。

2,第三方仓库

第三方仓库,又称内部中心仓库,也成为私服。
私服:一般有公司自己设立的,只为公司内部共享使用。它既可以作为公司内部构件协作和存档,也可以作为公共库镜像缓存,减少在外部访问和下载的频率(使用私服为了减少对中央仓库的访问
私服可以使用的是局域网,中央仓库可以使用外网。也就是一般公司都会建立这种第三方仓库,保证项目开发时,项目所需的jar 都从该仓库中拿,保证每个人的jar版本相同。
注意:链接私服,需要单独配置,如果没有配置私服, 默认不使用

3,中央仓库

Maven 内置了远程公用仓库: http://repo1.maven.org/maven2
这个公用仓库是由 maven 自己维护,里面有大量的常用类库,病包含了世界上大部分流行的开源项目构件(jar),目前是以java为主
:工程依赖的jar包如果本地没有,默认从中央仓里下载

使用命令行管理maven项目

创建maven java项目

自己创建一个文件夹,在该文件夹下按 shift+右键 ,点开使用命令行模式,这样创建的maven [java] 项目就在该文件夹下了。`
命令:mvn archetype:create -DgroupId=com.wuhao.maven.quickstart -DartifactId=simple -DarchetypeArtifactId=maven-archetype-quickstart

  • mvn : 核心命令
  • archetype:create :创建项目,现在maven 高一点的项目都启用了create命令而使用generate命令
  • -DgroupId=com.wuhao.maven.quickstart: 创建该库的groupId 是什么,一般使用报名的写法,因为包名是用公司的域名的反写,独一无二
  • -DartifactId=simple: 创建该库的 artifactId 是什么,就是项目名称
  • -DarchetypeArtifactId=maven-archetype-quickstart: 表示创建的是[maven]java 项目

命令运行的前提:需要联网,必须上网下载个小文件
在这里插入图片描述
运行上面的命令,成功后,如下图:
在这里插入图片描述
从图中,可以看到 groupId , artifactId, version 属性,并且在 E:\apache-maven-demo 下生成一个simple项目
在这里插入图片描述

maven java项目结构

simple

  • —pom.xml 核心配置文件,项目根目录下
  • —src
    • —main
      • —java
        • —com.wuhao.maven.quickstart.App.java
    • —test
      • —java
        • com.wuhao.maven.quickstart.AppTest.java
创建 maven web 项目

命令:mvn archetype:create -DgroupId=com.kog.maven.quickstart -DartifactId=myWebApp -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot
其他都差不多,创建maven web项目的话 -DarchetypeArtifadtId=maven-archetype-webapp 比创建java项目多了一个 -Dversion=0.01-snapshot ,在创建java项目的时候 也可以加上这个,如果不写,会默认帮我们加上1.0-snapshot

运行成功后, 会提示:
在这里插入图片描述

命令操作maven java或web项目
  • 编译:mvn complie --src/main/java目录 java源码编译成class(target目录下)
  • 测试:mvn test --src/test/java 目录编译
  • 清理:mvn clean -删除target目录,也就是将class文件等删除
  • 打包:mvn package --生成压缩文件:java项目 jar包, web 项目 war包,也是放在rarget目录下
  • 安装:mvn install --将压缩文件(jar或war)上传到本地仓库
  • 部署|发布:mvn deploy --将压缩文件上传私服
其他命令

maven java 或web 项目转换成 Eclipse 工程:
mvn eclipse:eclipse
mvn eclipse:clean

使用MyEclipse创建maven自定义项目

使用myeclipse 创建项目前,需要在myeclipse 中配置 maven 的一些信息
比如配置本地仓库,安装自定义maven(MyEclipse 高版本自带maven)

使用Eclipse 创建maven项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值