Maven如何找到Jar包的呢? 如果我们要找某人的家,肯定要知道地址和门牌号,同样的道理。maven是通过坐标来找到的。。。
坐标:Maven规定任何组件都通过坐标来作为唯一性标识,Maven坐标包括:groupId,artifactId,version,packaing,classifier,只要按照格式提供以上信息,maven就会自动到内置的中央仓库找到对应的jar包。
如果是我们自己上传到仓库的jar,也需要提供唯一性的标识,也就是坐标。
例如:
<dependency>
<groupId>org.codehaus.mojo.hibernate3</groupId>
<artifactId>maven-hibernate3</artifactId>
<version>2.2-SNAPSHOT</version>
<type>pom</type>
</dependency>
groupId:定义当前Maven项目隶属的实际项目。一个项目可能有若干小项目,groupId的作用就是唯一性表示项目。
artifactId:定义实际项目重的一个Maven项目。
version:定义Maven项目当前所处的版本。
package:定义Maven项目的打包方式,默认是jar,也可以发布为war包。
classifier:定义构建输出的一些附属构件,附属构件与主构件对应
上面的五个元素中:groupId,artifactId,version是必须有的,packaging可选,classifier不能直接定义。