父(Super)POM

简介: 父(Super)POM是Maven所有POM的默认基础,包含可继承的默认设置,如从http://repo1.maven.org/maven2下载依赖。`mvn help:effective-pom`命令显示默认配置。创建POM示例展示如何定义`modelVersion`, `groupId`, `artifactId`和`version`。在命令行运行此命令会显示处理后的effective-pom,展示实际配置。

父(Super)POM

父(Super)POM是 Maven 默认的 POM。所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM)。父 POM 包含了一些可以被继承的默认设置。因此,当 Maven 发现需要下载 POM 中的 依赖时,它会到 Super POM 中配置的默认仓库 http://repo1.maven.org/maven2 去下载。

Maven 使用 effective pom(Super pom 加上工程自己的配置)来执行相关的目标,它帮助开发者在 pom.xml 中做尽可能少的配置,当然这些配置可以被重写。

使用以下命令来查看 Super POM 默认配置:

mvn help:effective-pom
接下来我们创建目录 MVN/project,在该目录下创建 pom.xml,内容如下:

<!-- 模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group -->
<groupId>com.companyname.project-group</groupId>

<!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
<artifactId>project</artifactId>

<!-- 版本号 -->
<version>1.0</version>


在命令控制台,进入 MVN/project 目录,执行以下命令:

C:\MVN\project>mvn help:effective-pom
Maven 将会开始处理并显示 effective-pom。

[INFO] Scanning for projects...
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:36 min
[INFO] Finished at: 2018-09-05T11:31:28+08:00
[INFO] Final Memory: 15M/149M
[INFO] ------------------------------------------------------------------------

相关文章
|
1天前
|
Java Apache Maven
父(Super)POM
Maven的父(Parent)POM是所有POM的默认基础,包含可继承的默认设置。它定义了如http://repo1.maven.org/maven2的默认仓库。开发者可通过`mvn help:effective-pom`查看默认配置。在MVN/project目录下,创建包含模型版本、groupId、artifactId和版本号的pom.xml,然后运行上述命令,Maven将显示处理后的effective-pom,展示实际使用的配置。
|
5月前
|
Java Maven
maven子模块无法继承父模块的jar包解决方案
maven子模块无法继承父模块的jar包解决方案
|
12月前
|
XML Android开发 数据格式
Viewbinding自动生成XML的一个对应绑定类
设置完sync一下,然后会在项目中看到对应的XML文件的一个继承了ViewBinding的对应绑定类。 如果不想生成,则在XML文件中设置一个tools:viewBindingIgnore="true"属性,即可忽略不生成对应绑定类。
117 0
项目parent中pom文件
项目parent中pom文件
51 0
Child module pom.xml of pom.xml does not exist @
Child module pom.xml of pom.xml does not exist @
143 0
|
XML 开发工具 Android开发
ViewGroup是如何获取到xml中child设置的对应的属性的?
ViewGroup是如何获取到xml中child设置的对应的属性的?
|
Java 项目管理 Maven
Maven - pom.xml 中 parent 标签的使用
Maven - pom.xml 中 parent 标签的使用
748 0
|
XML Java Maven
maven父子工程遇到的bug,子module没有parent标签的解决几种方法
maven父子工程遇到的bug,子module没有parent标签的解决几种方法
606 0
maven父子工程遇到的bug,子module没有parent标签的解决几种方法
|
Java Maven
maven子工程引用父工程失败
当maven子工程引用父工程失败时,我们应该如何z做?本文带大家解决这个问题。
251 0
maven子工程引用父工程失败