Maven优点之一:jar包统一管理+升级容易+项目清爽

试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包(.NET中是dll文件),一种作法是每个项目里,都复制一份这些依赖的jar包(或dll文件),这样显然不好,相同的文件在硬盘上保存了多份,太占用空间,而且这些依赖的jar包(或dll文件)的版本也不太好管理(比如某个公用的jar包,从1.0升级到2.0,如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改)。

maven的很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识(唯一识别某个jar包文件名、版本号的标识),这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中,整个maven项目看起来十分清爽。

maven项目的目录结构

C:\test\maven-hello-world>tree
Folder PATH listing for volume win7
Volume serial number is AA2C-6E70
C:.
├───src
│   ├───main
│   │   └───java
│   │       └───cnblogs
│   └───test
│       └───java
│           └───cnblogs
└───target
    └───classes
        └───cnblogs

注意上面带红色的目录名,maven项目采用“约定优于配置”的原则。

src/main/java约定用于存放源代码,src/main/test用于存放单元测试代码,src/target用于存放编译、打包后的输出文件。这是全世界maven项目的通用约定,请记住这些固定的目录结构。

转载于:https://www.cnblogs.com/dlsunf/p/8795588.html

《学习笔记》Maven相关推荐

  1. MAVEN学习笔记-maven的获取和安装

    windows下maven的安装步骤:      1.下载压缩包http://maven.apache.org/download.cgi选择apache-maven-3.3.9-bin.zip下载   ...

  2. 学习笔记——Maven pom.xml配置详解

    POM的全称是"ProjectObjectModel(项目对象模型)". pom.xml详解 声明规范 <projectxmlns="http://maven.ap ...

  3. Mybatis的学习笔记

    MyBatis Mybatis是一款非常优秀的持久层框架,学习的目的是要掌握精通. 那么今天我们就来学习一下这个优秀的框架知识! 此外,由于博主的水平的原因,文章的质量可能不会太高,请酌情观看.如果大 ...

  4. dubbo入门学习笔记之入门demo(基于普通maven项目)

    注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...

  5. maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目

    maven学习笔记 一.什么是maven Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Life ...

  6. maven 一个简单项目 —— maven权威指南学习笔记(三)

    目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...

  7. maven 学习笔记(三)创建一个较复杂的 eclipse+android+maven 工程

    前面maven 学习笔记(二)已经说过了怎样通过插件创建一个简单的工程,有了前面的基础,创建一个较复杂的工程就容易了很多.同样是通过已经有了插件,同样如果插件系统中并未存在,还是需要通过Add Arc ...

  8. Maven学习笔记__上篇

    Maven学习笔记__上篇 本文档基于 尚硅谷视频教程 整理,仅用于个人学习/交流使用. 视频链接:https://www.bilibili.com/video/BV1TW411g7hP 官方资料:链 ...

  9. Maven项目依赖管理 学习笔记

    本学习笔记根据慕课视频[Maven项目依赖管理]摘录,主要学习maven的使用方式,从理念到实践.基础到应用,掌握基于maven管理java项目的方式. 目录 第一章 Maven概述 Maven简介 ...

  10. 黑马程序员Maven学习笔记

    前言 这里是黑马程序员Maven学习笔记分享,这是视频链接. 我还有其它前端内容的笔记,有需要可以查看. 文章目录 前言 基础 Maven简介 Maven是什么 Maven的作用 Maven的下载 M ...

最新文章

  1. python对文件的_python对文件的读写
  2. 讲解AI三大方向的模型与算法!
  3. JAVA大文件上传断点续传解决方案
  4. POJ 1236 学校网络间的强连通
  5. [译]LINT TO SQL 介绍(数据库查询) - Part.3
  6. windows python安装opencv_关于OpenCV-Python安装(缺少ffmpeg):OpenCV-Python安装(缺少ffmpeg)-Windows...
  7. PyPA Creating Documentation
  8. IT行业里有这么多聪明人,他们之间的区别在哪里?
  9. AMD ATI Radeon 显卡被曝多个漏洞
  10. 解决在IDEA 的Maven下 出现 Cannot access in offline mode 问题
  11. bookstrap必备的基础知识
  12. python 函数说明_Pythonhelp()函数用法详解
  13. 关于无法安装.NET Framework3.5的问题(0x800F081F)
  14. 何炅机器人对话_何炅和黄磊的一段对话,暗藏他们对人生的沉淀,听懂后受益一生...
  15. ffmpeg rtmp 花屏_使用FFMPEG进行视频转码
  16. PHP开发常见面试题目
  17. excel二进制移位运算_Excel揭秘13:在Excel中实现位运算
  18. 05.数据的深度分析(数据挖掘、机器学习)--《数据科学概论》
  19. 首曲线、计曲线、间曲线和助曲线
  20. mysql三国人物库_一文带你使用neo4j生成三国人物社交关系图

热门文章

  1. 巴基斯坦削减光伏发电上网电价或影响清洁能源发展前景
  2. shell 数组详解
  3. BitHacks--位操作技巧
  4. No WebApplicationContext found: no ContextLoaderListener registered?
  5. 最简单的DX窗口程序
  6. 信息系统开发平台OpenExpressApp - ClickOnce智能部署
  7. # 国王游戏(贪心+大数乘除+微扰法证明)
  8. JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
  9. PHP大文件分割上传(分片上传)
  10. 关于Platinum库的MediaRender具体C++代码实现探讨