美文网首页
maven学习笔记(一)

maven学习笔记(一)

作者: 味道_3a01 | 来源:发表于2018-09-17 22:20 被阅读5次

1. 检查mvn版本

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常用元素介绍

image image image 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的依赖

  <exclusions>
       <exclusion>
            <groupId></groupId>
            <artifactId></artifactId>
       </exclusion>
  </exclusions>

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

继承:

<parent>
  <groupId>zttc.itat.user</groupId>
  <artifactId>user-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <!---继承的绝对路径是pom文件--->
  <relativePath>../user-parent/pom.xml</relativePath>
</parent>

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学习笔记

    maven学习笔记 2016年1月6日 一、maven安装 windows下maven安装安装maven前,首先要...

  • maven学习笔记(一):maven说明

    1:什么是maven -Maven意为“知识的积累”、“专家”或者“内行”的意思,maven是一个跨平台的项目管理...

  • Maven学习笔记(一):Maven概述

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合...

  • maven学习笔记(一)

    1. 检查mvn版本 2.maven版的helloWorld 工程目录结构: src resources targ...

  • Maven学习笔记(一)

    文章摘要1、Maven的安装、配置2、Maven的介绍以及Eclipse 插件相关安装、配置。 1、简介 Mave...

  • Maven学习笔记(一)

    对Maven的理解 先来看下Maven官网的定义: IntroductionMaven, a Yiddish wo...

  • 自动化构建工具Maven

    该心得全部来源于菜鸟教程-maven以及尚硅谷Java视频教程_Maven的学习过程笔记。 Maven:一个纯Ja...

  • maven学习笔记

    什么是maven maven是基于项目对象模型(Project·Object·Model --> POM),可以通...

  • Maven学习笔记

    简述 Maven在我们的目前的工作中是使用最广泛的工具之一,它在我们编译,打包,部署等等各个环节都发挥着非常重要的...

  • Maven学习笔记

    Maven概述 Maven定义Maven是一个项目管理和整合,统一管理jar包的工具;Maven为开发者提供了一套...

网友评论

      本文标题:maven学习笔记(一)

      本文链接:https://www.haomeiwen.com/subject/vtxjnftx.html