Maven简单学习及介绍

Maven简单介绍


maven命令

  • mvn -v:查看maven版本
  • mvn compile: 编译
  • mvn test:测试
  • mvn package:打包
  • mvn clean:删除target
  • mvn install: 安装jar包到本地仓库

pom.xml

坐标

在maven的世界中任何的依赖,插件都可以称为构件,任何构件都以坐标做为唯一标识

Maven便给我们制定了一套规则那就是使用坐标进行唯一标识。Maven的坐标元素包括groupId、artifactId、version、packaging、classfier。只要我们提供正确的坐标元素,Maven就能找到对应的构件,首先去你的本地仓库查找,没有的话再去远程仓库下载。如果没有配置远程仓库,会默认从中央仓库地址(http://repo1.maven.org/maven2)下载构件,该中央仓库包含了世界上大部分流行的开源项目构件,但不一定所有构件都有,我在以前的开发中就遇到过找不到oracle数据库jar包的问题,不知道现在是否依然如此。 
- groupId:包名 
- artifactId:模块名 
- version:版本

仓库

仓库管理依赖 
- 本地仓库 
- 中央仓库 
- denpendetcies:在pom.xml导入依赖 
镜像仓库: 
在config目录中找到setting配置文件,找到该位置进行修改(约156行) 
<mirror> 
<id>maven.net.cn</id> 
<mirrorOf>central</mirrorOf> 
<name>central mirror in china</name> 
<url>http://maven.net.cn/content/groups/public</url> 
</mirror>

更改本地仓库的位置: 
在config目录中找到setting配置文件,找到该位置进行修改(约55行)

<localRepository>E:\mvnRepository</localRepository>

自动创建目录骨架

创建目录的两种方式: 
1. mvn archetype:generat 
2. mvn archetype:generat -DgroupId=组织名,公司网址的反写+项目名 
-DartfactId=项目名-模块名 
-Dversion=版本号 
-Dpackage=代码所存在的包名


Maven生命周期

  • clean: 清理项目
  • default:构建项目(compile test package install)
  • site:生成项目的站点 
    pre-site:生成站点前要完成的工作 
    site:生成项目的在站点文档 
    post-site:在生成项目站点后要完成的工作 
    site-deploy:发布生成的站点到服务器上

Pom.xml解析

modelVersion :指定当前的版本 
groupId:指定所属的项目 
artfactId:项目名加模块名,是实际项目下的一个模块。 
version:版本号 
packaging:打包方式,不指定的话默认为jar 
name:项目描述名 
url:项目地址 
description:项目描述 
developers:项目许可证 
lecenses: 
organization:组织信息


dependencies:依赖 
denpendency:依赖项 
scope:依赖范围 
optional:设置依赖是否可选 
exclusions:排除依赖传递列表 
exclusion+坐标

dependencyManagement:依赖管理,里面可以有依赖列表。 
build:其中可以有插件列表plugin

parent:子模块对父模块的继承 
modules:指定多个模块,可以一起进行编译。

依赖的范围scope

compile:默认的级别。编译、测试、运行都有效。 
provided:在编译和测试时有效。 
runtime:在测试、运行时有效 
test:在测试时有效 
system:在编译和测试时有效,与本机系统相关联,可以移植性差。 
import:导入的范围,它只使用在dependencyManagement中,表示从其它的pom中导入denpendecy的配置。

## 依赖冲突 ## 
1.短路优先: 
A->B->C->X(jar) 
A->D->X(jar)优先解析

2.先声明先优先:

猜你喜欢

转载自blog.csdn.net/weixin_40236948/article/details/81263046