• 5分钟学会maven入门


    一、背景
    1.定位:Maven是优秀的构建工具
    2.意义:自动化构建,即节约了我们每天有相当一部分时间花在编 译、运行单元测试、生成文档、打包和部署等烦琐且不起眼的时间。
    3.三要素:目标(Target)、依赖(Prerequisite)和命令(Command)
    4.比较:
    Make,就不能实现跨平台的构建,语法复杂,难以排除一些空格、table错误
    Ant,开发者显式地指定每一个目标,以及完成该目标所需要执行的任务。针对每一个项目,开发者都需要重新编写这一过程,这里其实隐含着很大的重复。没有依赖管理。
    Gradle,支持动态的版本依赖,Maven和Gradle对依赖项的scope有所不同,解决依赖冲突方面Gradle的实现机制更加明确。Gradle提供了极大的灵活性,但对Build领域实践不够,就很难组织好,导致混乱和不必要。
    二、安装与配置
    2.步骤:下载安装包->安装->设置环境变量->检查mvn –version
     
    三、使用
    1.注意事项:
    (1)配置用户范围settings.xml。Maven用户可以选择配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是全局范围的,整台机器上的所有用户都会直接受到该配置的影响,而后者是用户范围的,只有当前用户才会受到该配置的影响。
    (2)尽量不要使用IDE内嵌的Maven
     
    2.编写POM
    (1)核心
    Maven项目的核心是pom.xml,项目对象模型
    组ID<groupId>com.zhongzh.app</groupId>  com.项目组名.项目名
    模块ID<artifactId>hello-world</artifactId>  
    版本<version>1.0-SNAPSHOT</version>  
    名称<name>Maven Hello World Project</name> 
    (2)常用标签:modules、parent、properties、import
    parent指定继承父pom
    父pom中指定modules
    dependencyManagement元素下得依赖声明不会引入实际的依赖
    dependencies元素下的实际依赖使用
    properties元素用户可以自定义一个或多个Maven属性,然后在POM的其他地方使用${属性名}的方式引用该属性,这种做法的最大意义在于消除重复和统一管理。
    <scope>import</scope>继承来自多个父pom的依赖
     
    3.依赖管理
    scope指明了junit模块只能在test中依赖
     
    4.maven命令
    打包 mvn clean package
    安装 mvn clean install 与打包区别在于可以让其他maven工程使用
    测试 mvn clean test
    生成项目骨架 mvn archetype:generate
     
     
     
     
  • 相关阅读:
    【JS】415- JS面向对象之 7 大基本原则
    【每周小回顾】14- 一起回顾上周精彩内容
    【全栈修炼】414- CORS和CSRF修炼宝典
    【全栈修炼】CORS和CSRF修炼宝典
    【JS】413- JavaScript中的位运算和权限设计
    【面试题】412- 35 道必须清楚的 React 面试题
    【CSS】410- 关于CSS盒子模型、BFC及其应用
    15.app后端怎么设计用户登录方案
    14.app后端如何设计api
    13.app后端为什么要用到消息队列
  • 原文地址:https://www.cnblogs.com/zhongzihao/p/10786421.html
Copyright © 2020-2023  润新知