作者:weizhe | 来源:互联网 | 2023-09-16 09:29
Pom全称Project Object Model(工程对象模型)。Pom文件是Maven运行的基础,其中详细描述了一些详细的工程配置信息。
Pom文件分类
默认Pom文件内容
4.0.0centralCentral Repositoryhttps://repo.maven.apache.org/maven2defaultfalsecentralCentral Repositoryhttps://repo.maven.apache.org/maven2defaultfalsenever${project.basedir}/target${project.build.directory}/classes${project.artifactId}-${project.version}${project.build.directory}/test-classes${project.basedir}/src/main/java${project.basedir}/src/test/java${project.basedir}/src/main/resources${project.basedir}/src/test/resourcesmaven-antrun-plugin1.3maven-assembly-plugin2.2-beta-5maven-dependency-plugin2.8maven-release-plugin2.5.3${project.build.directory}/siterelease-profileperformReleasetruetruemaven-source-pluginattach-sourcesjar-no-forktruemaven-javadoc-pluginattach-javadocsjartruemaven-deploy-plugintrue
最小规格Pom文件
4.0.0com.mycompany.appmy-app1
子工程继承父工程pom配置值
|-- my-module| `-- pom.xml`-- pom.xml
子pom文件内容
4.0.0com.mycompany.appmy-app1com.mycompany.appmy-module1
Noting:
子pom文件中的version、groupId等属性可以从父目录的pom文件中继承。
因此,子pom文件中的version、groupId标签可以删除,默认继承父级pom文件中的配置。
项目聚合Pom
父子目录结构如下
|-- my-module| `-- pom.xml`-- parent`-- pom.xml
父级pom指定子模块pom文件位置:
4.0.0com.mycompany.appmy-app1pom../my-module
子pom文件配置指定父pom文件位置:
4.0.0com.mycompany.appmy-app1../parent/pom.xmlmy-module
Noting:通过relativePath标签指定子pom文件相对父pom文件所在位置。
Pom文件中定义共用变量
通过占位符${project.version}获取实际值。
pom中定义属性:
3.0
pom中通过占位符获取属性值:
org.apache.mavenmaven-core${mavenVersion}
通过占位符直接获取项目配置:
${project.groupId},
${project.version},
${project.build.sourceDirectory}