artifactid:项目的通用名称
version:项目版本号
packaging:打包机制:pom,jar,maven-plugin,ejb,war,ear,rar,par
name:描述名称
url:应该是只是写明开发团队的网站,无关紧要,可选
classifer:分类
其中groupId,artifactId,version,packaging这四项组成了项目的唯一坐标。一般情况下,前面三项就可以组成项目的唯一坐标了
依赖:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <type>jar</type> <scope>test</scope> <optional>true</optional> </dependency> optional 可选的依赖。该参数的作用:当项目A 依赖包junit时,如果项目B依赖项目A,那么junit不会被导入到项目B的classpath中。 <dependency> <groupId>com.alibaba.china.shared</groupId> <artifactId>alibaba.apollo.webx</artifactId> <version>2.5.0</version> <exclusions> <exclusion> <artifactId>org.slf4j.slf4j-api</artifactId> <groupId>com.alibaba.external</groupId> </exclusion> .... </exclusions> </dependency> 依赖排除:exclusions 因为maven2.X的依赖是传递的,可能会把不想要的依赖包含进你的classpath。比如说 ,你所依赖的项目或许没有正确的设置它们的依赖集。为了处理这种特殊的情况,maven2.x包含了依赖排除的概念。排除在你的POM设置了一个特殊的依赖,并目标到一个特殊的groupId和artifactId,当你构建项目的时候,通过声明排除依赖,这个特殊的artifactId不会被添加到你的项目的classpath中。 </dependencies>