zoukankan      html  css  js  c++  java
  • 理解maven

    1.理解“仓库”

    首次运行完mvn -version后,会在用户目录下创建一个.m2的目录(比如:C:Users当前用户名.m2),这个目录是maven的“本地仓库”,仓库是maven中一个很重要的概念。

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

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

    2.记住tree命令是用来显示项目结构的

    2.2 maven项目的目录结构

    C: estmaven-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项目的通用约定,请记住这些固定的目录结构。

    3.

  • 相关阅读:
    日期类的时间从为什么是从1970年1月1日(格林威治时间)
    网站缓存技术总结( ehcache、memcache、redis对比)
    干货|java缓存技术详解
    TCP和UDP的区别(转)
    form表单转换为Json字符串数据
    JSON.parse 和 JSON.stringify
    Navicat连接Oracle的几个问题及解决方案
    Python IO编程
    python阶段总结一
    使用git进行版本控制
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6093387.html
Copyright © 2011-2022 走看看