maven学习笔记(一)

1. 检查mvn版本

maven学习笔记(一)_第1张图片

2.maven版的helloWorld

工程目录结构:

src

 -main 
        -java
            -package

resources

 -test
       -java
            -package

   resources

target

  classes

pom.xml基本框架(放在项目根目录下)

groupId 项目的包名

artifactId 模块名,建议用项目名

version 版本号 0.0.1SNAPSHOT

dependencies

dependency

mvn compile 编译

mvn test 输出测试

mvn package 生成jar包

3.maven常用构建命令

mvn -v 查看maven版本

     compile 编译
     test 编译
     package 打包
     clean 删除target
     install 安装jar包到本地仓库中

3.自动创建目录骨架

archetype插件

用于创建符合maven规定的目录骨架

maven规定:main、test

mvn archetype:generate

创建目录的两种方式:

1.archetype:generate 按照提示进行选择

2.archetype:generate

                          -DgroupId=组织名,公司网址的反写+项目名
                          -DartifactId=项目名-模块名
                          -Dversion=版本号
                          -Dpackage=代码所存在的包名

4.maven中的坐标和仓库

坐标:构件

仓库:本地仓库和远程仓库

镜像仓库:国内对国外maven仓库的映射

更改仓库位置:setting.xml中localRepository

5.在eclipse安装maven插件一级创建maven项目

6.完整的项目构建过程包括:

清理、编译、测试、打包、集成测试、验证、部署

maven生命周期:clean、compile、test、package、install

clean 清理项目

   pre-clean 执行清理前的工作

   clean 清理上一次构建生成的所有文件

   post-clean执行清理后的文件

default 构建项目(最核心)

   compile test package install

site 生成项目站点(根据pom中的信息自动生成站点)

   pre-site 在生成项目站点前要完成的工作

   site 生成项目的站点文档

   post-site 在生成项目站点后要完成的工作

   site-deploy 发布生成的站点到服务器上

(eclipse支持java、c、c++、php等语言的开发)

7.pom.xml常用元素介绍

maven学习笔记(一)_第2张图片
image
maven学习笔记(一)_第3张图片
image
maven学习笔记(一)_第4张图片
image
maven学习笔记(一)_第5张图片
image

8.依赖范围

maven三种classpath:编译、测试、运行

dependency scope

compile:默认的范围,编译测试运行都有效,编译和打包时都会把依赖加进去

provider:在编译和测试时有效,最后生成war包时不会加入

runtime:在测试和运行时有效

test:只在测试时有效,在编译和打包时都不会依赖

system:在编译和测试时有效,与本机系统相关联,可移植性差

import:导入的范围,它只使用在dependencyManagement中,表示从其它的pom中导入dependency的配置

9.依赖传递

A依赖B,B依赖C---->A依赖C

A不依赖C,可以在pom.xml中,排除A对C的依赖

  
       
            
            
       
  

10.依赖冲突

1.短路优先

                A--->B---->C---->X(jar)
                A---->D--->X(jar)

2.先声明先优先

如果路径长度相同,则谁先声明,先解析谁

   A-->log 1.2.17
   B-->log 1.2.9
   C-->A.B

C先依赖A,在依赖B

C-->log 1.2.17

11.聚合和继承

聚合:pom.xml增加modules

image

继承:


  zttc.itat.user
  user-parent
  0.0.1-SNAPSHOT
  
  ../user-parent/pom.xml

properties

dependencyManagement

相关视频

构建web项目

部署时不需要test目录

小结

1.maven下载和环境搭建:环境变量

2.maven目录骨架说明:目录、pom.xml

3.常用的maven命令

mvn:compile
mvn:test
mvn:clean
mvn:instal
mvn:package

4.仓库和坐标

groupId -->com.nakeiven.service(包名)
artifactId-->user-service(模块名)
version-->0.0.1-SNAPSHOT

X.X.X --里程碑-->SNAPSHOT,alpha,beta,Release(RC),GA(正常的,可靠版本)

svn 版本控制

5.在eclipse安装和创建maven项目

6.生命周期,pom.xml以及依赖、聚合、集成

A-->B
C-->A

C-->B 间接依赖

A-->B1
C-->B2
D-->A
D-->C

可以通过exclusion排除依赖冲突


关注公众号,获取海量免费java进阶视频

你可能感兴趣的:(maven学习笔记(一))