《Maven实战》阅读笔记:chapter4-5

自己总结的定义maven项目的groupIdartifactId的方法:

  • groupId越具体越好;不管是公司还是个人,尽量定义到项目的最上面一层,比如你的项目属于A公司的L部门的M小组,应该这样定义groupId:com.A.L.M,然后artifactId是你的项目名称;如果你的项目只是一个大项目下的模块,那groupId就要定义到你的大项目的层级,比如M小组下有个SP项目,你的项目是它的一个模块,则groupId为:com.A.L.M.SP。当然现在实际中都是各种各样的,有的groupId统一使用公司的,所有项目都属于同一个groupId,这样不大好。

Maven的坐标:groupId+artifactId+version+packaging+classifier(定义构建输出的一些附属构件),其中加粗的是必须的,packaging是可选的,默认为jar,classifier是不能直接定义的。一般规则为:`artifactId-version[-classifier].packaging。

`Maven在编译,测试,运行时使用不同的classpath,依赖范围就是用来控制依赖与这三种classpath的关系。

《Maven实战》阅读笔记:chapter4-5_第1张图片

依赖传递性如下:
《Maven实战》阅读笔记:chapter4-5_第2张图片

依赖调解的两个原则:①路径最近者优先;②第一声明者优先。

查看当前项目的已解析依赖:mvn dependency:list
查看当前项目的已解析依赖的依赖树:mvn dependency:tree
分析当前项目的依赖:mvn dependency:analyze

你可能感兴趣的:(Maven)