up:: Maven MOC tag::坐标 dates:: 2023-09-08

maven 的坐标,每个依赖包都有一个唯一的坐标,像地图一样用经纬度可以对应唯一的点。

maven 的坐标包含以下信息:

  • groupId:命名通常为域名反向一一对应。比如 google.com 可以命名为 com.google
  • artifactId:命名推荐的做法是使用实际的项目名称作为 artifactId 的前缀。比如项目名是 demo,下面有个 hello 模块,就可以命名为 demo-hello
  • version:定义当前项目的版本信息。
  • packaging:定义元素打包方式,打包方式通常与所生成的构件文件扩展名对应。例如指定为 jar 则构件的文件扩展名为 .jar,war 也如此。不定义 packaging 时,默认打包为 jar。打包方式会影响到构建的生命周期,比如 jar 和 war 打包会使用不同的命令。
  • classifier:定义构建输出的一些附属构建。例如项目打包生成 demo.jar 文件,打包过程中可能还需要 javadoc 文件,就可以配置对应的插件来生成 javadoc 文件。

通常定义一个外部依赖,只需要 groupIdartifactIdversion 。例如,项目中需要引用一个 guava 的依赖包,添加的依赖坐标如下:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>32.1.2-jre</version>
</dependency>