Maven 教程

推荐电商源码

Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。


阅读本教程前,您需要了解的知识

本教程主要针对初学者,帮助他们学习 Maven 工具的基本功能。完成本教程的学习后你的 Apache Maven 的专业知识将达到中等水平,随后你可以学习更高级的知识了。

阅读本教程,您需要有以下基础:Java 基础。


Maven 功能

Maven 能够帮助开发者完成以下工作:

  • 构建
  • 文档生成
  • 报告
  • 依赖
  • SCMs
  • 发布
  • 分发
  • 邮件列表

约定配置

Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:

目录 目的
${basedir} 存放pom.xml和所有的子目录
${basedir}/src/main/java 项目的java源代码
${basedir}/src/main/resources 项目的资源,比如说property文件,springmvc.xml
${basedir}/src/test/java 项目的测试类,比如说Junit代码
${basedir}/src/test/resources 测试用的资源
${basedir}/src/main/webapp/WEB-INF web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target 打包输出目录
${basedir}/target/classes 编译输出目录
${basedir}/target/test-classes 测试编译输出目录
Test.java Maven只会自动运行符合该命名规则的测试类
~/.m2/repository Maven默认的本地仓库目录位置

Maven 特点

  • 项目设置遵循统一的规则。

  • 任意工程中共享。

  • 依赖管理包括自动更新。

  • 一个庞大且不断增长的库。

  • 可扩展,能够轻松编写 Java 或脚本语言的插件。

  • 只需很少或不需要额外配置即可即时访问新功能。

  • 基于模型的构建 − Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。

  • 项目信息的一致性站点 − 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。

  • 发布管理和发布单独的输出 − Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。

  • 向后兼容性 − 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。

  • 子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,

  • 并行构建 − 编译的速度能普遍提高20 - 50 %。

  • 更好的错误报告 − Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。

SpringCloud SpringBoot b2b2c 微服务 多商家入驻直播商城之Maven教程相关推荐

  1. SpringCloud SpringBoot b2b2c 微服务 多商家入驻直播商城之Git 远程仓库(Github)

    Git 远程仓库(Github) 推荐电商源码 Git 并不像 SVN 那样有个中心服务器. 目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作. ...

  2. SpringCloud SpringBoot b2b2c 微服务 多商家入驻直播商城之Docker 架构

    Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统.比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16 ...

  3. SpringCloud SpringBoot uniapp vue b2b2c 微服务 多商家入驻直播带货商城 分销商城 秒杀 高并发电商之责任链模式

    责任链模式 推荐分布式微服务电商源码 顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收 ...

  4. SpringCloud SpringBoot uniapp vue b2b2c 微服务 多商家入驻直播带货商城 分销商城 秒杀 高并发电商之策略模式

    策略模式 推荐分布式微服务电商源码 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改.这种类型的设计模式属于行为型模式. 在策略模式中,我们创建表示各种策略的对象 ...

  5. SpringCloud SpringBoot uniapp vue b2b2c 微服务 多商家入驻直播带货商城 电商之14.0 Zookeeper 分布式锁实现原理

    分布式锁是控制分布式系统之间同步访问共享资源的一种方式. 下面介绍 zookeeper 如何实现分布式锁,讲解排他锁和共享锁两类分布式锁. 排他锁 排他锁(Exclusive Locks),又被称为写 ...

  6. SpringCloud SpringBoot uniapp vue b2b2c 微服务 多商家入驻直播带货商城 分销商城 秒杀 高并发电商之适配器模式

    适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能. 这种模式涉及到一个单一的类,该类负责加入独立的 ...

  7. SpringCloud+SpringBoot b2b2c 电子商务平台涉及的技术、运营方案

    一个好的SpringCloud+SpringBoot b2b2c 电子商务平台涉及哪些技术.运营方案?以下是我结合公司的产品做的总结,希望可以帮助到大家! 搜索体验小程序:海哇 1. 涉及平台 平台管 ...

  8. SpringCloud(若依微服务版)读取Nacos中的配置以及多个服务共享Nacos配置的使用

    场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303 在上 ...

  9. java框架之SpringCloud(2)-Rest微服务案例

    在上一章节已经对微服务与 SpringCloud 做了介绍,为方便后面学习,下面以 Dept 部门模块为例做一个微服务通用 Demo -- Consumer 消费者(Client) 通过 REST 调 ...

最新文章

  1. 两帧点云刚性配准的ICP算法
  2. java.net.BindException: Address already in use: 解决方法
  3. Spring官宣网传大漏洞,附解决方案!网传方案有隐患,建议加固!
  4. html页面跳转时导航栏不变_解决Vue-iview封装导航栏刷新,导航栏消失之坑
  5. C++中 栈的简单封装
  6. linux的O的字体让我满意那些
  7. JAVA上传文件 DiskFileUpload组件
  8. 永磁同步电机dq坐标系中转矩公式中系数3/2的由来
  9. 销售计算机流程图,flowchart_请问在电脑WORD中怎样画流程图?
  10. Error: The specified query does not exist\nResponse from attempted peer comms was an error
  11. android js桥接,聊一聊桥接(JSBridge)的原理(下)
  12. 普渡大学工程学院计算机工程,普渡大学电气工程专业申请条件.pdf
  13. 【ElasticSearch从入门到放弃系列 零】ElasticSearch看这一篇就够了
  14. erp仓储管理 java,关于java:ERP仓库管理的操作与设计开源软件诞生20
  15. 安卓定时开关机的实现
  16. 干电池升压IC,PW5100电路设计注意点
  17. chocolatey的安装与使用与chocolatey安装失败的解决方法
  18. 基于html的猜数字游戏设计
  19. 判断输入的整数是不是质数(素数)
  20. OpenCV——Canny直线检测

热门文章

  1. C复合结构——共用体union
  2. java 取两个时间间隔_Java:获取时间间隔
  3. 如何识别明细表,如何读取明细表信息?
  4. codecombat之边远地区的森林12-22关及地牢39关代码分享
  5. 计算机语言发展史及Java语言简介
  6. python学习笔记(一)基础语法 — 参考创客智造
  7. IOS 初级开发入门教程(一)介绍篇
  8. python结果保留整数_python怎么保留整数
  9. 【谷粒商城】【rabbitMQ】笔记
  10. 三只松鼠:顾客决定你的KPI