此 pom.xml 文件涵盖了 Maven 4.0.0 模式支持的所有主要标签,包括项目元数据、依赖管理、构建配置、发布管理等。每个标签都配有详细注释,说明其作用、常见用法和可能的值。
此文件旨在展示标签的完整性,部分配置(如仓库 URL、SCM 地址)是示例值,无法直接运行。实际使用时需根据项目需求调整。
按照 Maven 的逻辑结构组织,从项目坐标到高级配置,层次分明,便于学习。(协同ai生成)
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>com.examplegroupId>
<artifactId>my-projectartifactId>
<version>1.0.0-SNAPSHOTversion>
<packaging>jarpackaging>
<name>My Example Projectname>
<description>A comprehensive Maven project for learning purposes.description>
<url>https://www.example.comurl>
<inceptionYear>2025inceptionYear>
<organization>
<name>Example Inc.name>
<url>https://www.example.orgurl>
organization>
<licenses>
<license>
<name>Apache License, Version 2.0name>
<url>https://www.apache.org/licenses/LICENSE-2.0url>
<distribution>repodistribution>
<comments>A business-friendly OSS licensecomments>
license>
licenses>
<developers>
<developer>
<id>johndoeid>
<name>John Doename>
<email>[email protected]email>
<url>https://johndoe.example.comurl>
<organization>Example Inc.organization>
<organizationUrl>https://www.example.orgorganizationUrl>
<roles>
<role>Developerrole>
<role>Architectrole>
roles>
<timezone>UTC+8timezone>
developer>
developers>
<contributors>
<contributor>
<name>Jane Smithname>
<email>[email protected]email>
<organization>Communityorganization>
<roles>
<role>Testerrole>
roles>
contributor>
contributors>
<mailingLists>
<mailingList>
<name>Dev Listname>
<subscribe>[email protected]subscribe>
<unsubscribe>[email protected]unsubscribe>
<post>[email protected]post>
<archive>https://mail.example.com/archivearchive>
mailingList>
mailingLists>
<prerequisites>
<maven>3.6.0maven>
prerequisites>
<modules>
<module>module-amodule>
<module>module-bmodule>
modules>
<properties>
<maven.compiler.source>11maven.compiler.source>
<maven.compiler.target>11maven.compiler.target>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<spring.version>5.3.20spring.version>
properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-coreartifactId>
<version>${spring.version}version>
dependency>
dependencies>
dependencyManagement>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.13.2version>
<scope>testscope>
<optional>trueoptional>
dependency>
<dependency>
<groupId>org.apache.commonsgroupId>
<artifactId>commons-lang3artifactId>
<version>3.12.0version>
<exclusions>
<exclusion>
<groupId>some.unwantedgroupId>
<artifactId>unwanted-libartifactId>
exclusion>
exclusions>
dependency>
dependencies>
<repositories>
<repository>
<id>aliyunid>
<name>Aliyun Maven Repositoryname>
<url>https://maven.aliyun.com/repository/publicurl>
<layout>defaultlayout>
<releases>
<enabled>trueenabled>
<updatePolicy>dailyupdatePolicy>
<checksumPolicy>warnchecksumPolicy>
releases>
<snapshots>
<enabled>falseenabled>
snapshots>
repository>
repositories>
<pluginRepositories>
<pluginRepository>
<id>aliyun-pluginid>
<name>Aliyun Plugin Repositoryname>
<url>https://maven.aliyun.com/repository/publicurl>
<releases>
<enabled>trueenabled>
releases>
<snapshots>
<enabled>falseenabled>
snapshots>
pluginRepository>
pluginRepositories>
<build>
<defaultGoal>installdefaultGoal>
<directory>${project.basedir}/targetdirectory>
<finalName>${project.artifactId}-${project.version}finalName>
<sourceDirectory>${project.basedir}/src/main/javasourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/javatestSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/resourcesdirectory>
<filtering>truefiltering>
<includes>
<include>**/*.propertiesinclude>
includes>
<excludes>
<exclude>**/*.bakexclude>
excludes>
resource>
resources>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resourcesdirectory>
<filtering>falsefiltering>
testResource>
testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.10.1version>
<configuration>
<source>${maven.compiler.source}source>
<target>${maven.compiler.target}target>
<encoding>${project.build.sourceEncoding}encoding>
configuration>
<executions>
<execution>
<id>default-compileid>
<phase>compilephase>
<goals>
<goal>compilegoal>
goals>
execution>
executions>
plugin>
plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-surefire-pluginartifactId>
<version>3.0.0-M7version>
<configuration>
<skipTests>falseskipTests>
configuration>
plugin>
plugins>
pluginManagement>
build>
<reporting>
<outputDirectory>${project.basedir}/target/siteoutputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-project-info-reports-pluginartifactId>
<version>3.4.1version>
<reportSets>
<reportSet>
<id>defaultid>
<reports>
<report>dependenciesreport>
<report>indexreport>
reports>
reportSet>
reportSets>
plugin>
plugins>
reporting>
<profiles>
<profile>
<id>devid>
<activation>
<property>
<name>envname>
<value>devvalue>
property>
<jdk>11jdk>
<os>
<name>Windows 10name>
<family>Windowsfamily>
os>
<file>
<exists>${project.basedir}/src/main/resources/dev.propertiesexists>
file>
activation>
<properties>
<env.type>developmentenv.type>
properties>
<dependencies>
<dependency>
<groupId>org.slf4jgroupId>
<artifactId>slf4j-apiartifactId>
<version>1.7.36version>
dependency>
dependencies>
profile>
profiles>
<distributionManagement>
<repository>
<id>nexus-releasesid>
<name>Nexus Release Repositoryname>
<url>https://nexus.example.com/repository/releasesurl>
repository>
<snapshotRepository>
<id>nexus-snapshotsid>
<name>Nexus Snapshot Repositoryname>
<url>https://nexus.example.com/repository/snapshotsurl>
snapshotRepository>
<downloadUrl>https://nexus.example.com/repository/releasesdownloadUrl>
<site>
<id>project-siteid>
<name>Project Documentationname>
<url>https://www.example.com/docsurl>
site>
distributionManagement>
<issueManagement>
<system>JIRAsystem>
<url>https://jira.example.comurl>
issueManagement>
<ciManagement>
<system>Jenkinssystem>
<url>https://jenkins.example.comurl>
<notifiers>
<notifier>
<type>mailtype>
<sendOnError>truesendOnError>
<configuration>
<address>[email protected]address>
configuration>
notifier>
notifiers>
ciManagement>
<scm>
<connection>scm:git:https://github.com/example/my-project.gitconnection>
<developerConnection>scm:git:[email protected]:example/my-project.gitdeveloperConnection>
<url>https://github.com/example/my-projecturl>
<tag>HEADtag>
scm>
<parent>
<groupId>com.examplegroupId>
<artifactId>parent-projectartifactId>
<version>1.0.0version>
<relativePath>../parent/pom.xmlrelativePath>
parent>
project>