Maven-pom.xml全配置详解

pom(4.0)命名空间(xmlns):http://maven.apache.org/POM/4.0.0
xsd定义:http://maven.apache.org/xsd/maven-4.0.0.xsd

本文部分内容根据个人经验理解的,若有任何问题,还请指出


<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" >
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.3.12.RELEASEversion>
        <relativePath/>
    parent>

    <modelVersion>4.0.0modelVersion>
    <groupId>org.examplegroupId>
    <artifactId>WebProjectartifactId>
    <packaging>jarpackaging>
    <name>demoname>
    <version>1.0-SNAPSHOTversion>
    <description>项目描述description>
    <url>project home pageurl>
    <prerequisites>
        <maven>2.0maven>
    prerequisites>
    <issueManagement>
        <system>issue系统名称system>
        <url>issue系统路径url>
    issueManagement>
    <ciManagement>
        <system>持续集成系统名称system>
        <url>持续集成系统urlurl>
        
        <notifiers>
            <notifier>
                <sendOnError>truesendOnError>
                <sendOnFailure>truesendOnFailure>
                <sendOnSuccess>truesendOnSuccess>
                <sendOnWarning>truesendOnWarning>
                <address>该配置已废除address>
                <configuration>
                    <custom>一些列自定义属性custom>
                configuration>
            notifier>
        notifiers>
    ciManagement>

    <inceptionYear>记录项目的开始年份,用于生成版权信息inceptionYear>
    <mailingLists>
        <mailingList>
            <name>名称name>
            <subscribe>可用于订阅邮件列表的电子邮件地址或链接。如果是一个邮件地址,那么会在生成文档的时候自动生成mailTo信息subscribe>
            <unsubscribe>取消订阅的邮件列表的电子邮件地址或链接unsubscribe>
            <post>可用于向邮件列表发送邮件的电子邮件地址或链接。post>
            <archive>指向URL的链接,您可以在该URL中浏览邮件列表存档。archive>
            <otherArchives>
                <otherArchive>到可浏览列表存档的备用url的链接。otherArchive>
            otherArchives>
        mailingList>
    mailingLists>
    
    <developers>
        <developer>
            <id>SCM中开发人员的唯一ID。id>
            <name>贡献者的全名。name>
            <email>贡献者的电子邮件地址。email>
            <url>投稿者主页的URL。url>
            <organization>贡献者所属的组织。organization>
            <organizationUrl>组织的URL地址。organizationUrl>
            <roles>
                <role>角色role>
            roles>
            
            <timezone> 8timezone>
            
            <properties>
                <p1>属性1p1>
            properties>
        developer>
    developers>
    
    <contributors>
        
        <contributor>
        contributor>
    contributors>
    <licenses>
        <license>
            <name>许可证的完整合法名称。name>
            <url>license文本的官方url。url>
            <distribution>
                
            distribution>
            <comments>与本许可证有关的附录信息。comments>
        license>
    licenses>
    <scm>
        <connection>源控制管理系统URL,该url的源库只读。connection>
        <developerConnection>和connection一样,不过该url针对开发者,源库不是只读。developerConnection>
        <tag>目前项目使用的tag,默认情况下,开发中是HEADtag>
        <url>scm库浏览器访问的urlurl>
    scm>
    
    <organization>
        <name>组织名称name>
        <url>组织主页 url>
    organization>
    
    <build>
        
        <sourceDirectory>src/main/javasourceDirectory>
        
        <scriptSourceDirectory>src/main/sqlscriptSourceDirectory>
        
        <testSourceDirectory>src/testtestSourceDirectory>
        
        <outputDirectory>target/classesoutputDirectory>
        
        <testOutputDirectory>target/test-classestestOutputDirectory>
        
        <extensions>
            <extension>
                <groupId>com.aliyungroupId>
                <artifactId>quotas20200510artifactId>
                <version>1.0.1version>
            extension>
        extensions>
        <defaultGoal>项目的默认目标defaultGoal>
        
        <resources>
            <resource>
                
                <directory>src/main/resourcesdirectory>
                
                <includes>
                    <include>**/*.xmlinclude>
                includes>
                
                <excludes>
                    <exclude>**/*.docexclude>
                excludes>
                
                <targetPath>org/apache/maven/messagestargetPath>
                
                <filtering>falsefiltering>
            resource>
        resources>
        <testResources>
            
        testResources>
        
        <directory>target/generated-sourcesdirectory>
        
        <finalName>${artifactId}-${version}finalName>
        
        <filters>
            <filter>没有固定格式的文件列表filter>
        filters>
        
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.pluginsgroupId>
                    <artifactId>artifactIdartifactId>
                    <version>versionversion>
                    
                plugin>
            plugins>
        pluginManagement>
        
        <plugins>
        plugins>
    build>
    
    <profiles>
        <profile>
            <id>build profile的唯一标识id>
            
            <activation>
                
                <activeByDefault>falseactiveByDefault>
                
                <jdk>1.8jdk>
                
                <os>
                    <name>${os.name}name>
                    
                    <family>windowsfamily>
                    
                    <arch/>
                    
                    <version>10.1version>
                os>
            activation>
        profile>
    profiles>
    
    <modules/>
    
    <repositories>
        <repository>
            <id>仓库的唯一标识id>
            <url>仓库的urlurl>
            <name>仓库的名称name>
            
            <releases>
                
                <enabled>trueenabled>
                
                <updatePolicy>alwaysupdatePolicy>
                
                <checksumPolicy>warnchecksumPolicy>
            releases>
            
            <snapshots>

            snapshots>
            
            <layout>defaultlayout>
        repository>
    repositories>
    
    <pluginRepositories>
        <pluginRepository>
            <id>仓库的唯一标识id>
            <url>仓库的urlurl>
            <name>……name>
        pluginRepository>
    pluginRepositories>
    
    <properties>
        <maven.compiler.source>8maven.compiler.source>
        <maven.compiler.target>8maven.compiler.target>
    properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
            
            <version>2.3.12.RELEASEversion>
            
            <type>jartype>
            
            <classifier>jdk14classifier>
            
            <scope>compilescope>
            
            <systemPath>/HOMEsystemPath>
            
            <exclusions>
                <exclusion>
                    <groupId>groupId>
                    <artifactId>artifactId>
                exclusion>
            exclusions>
            
            <optional>falseoptional>
        dependency>
    dependencies>
    
    <reporting>
        
        <excludeDefaults>falseexcludeDefaults>
        
        <outputDirectory>${project.build.directory}/siteoutputDirectory>
        
        <plugins/>
    reporting>
    
    <dependencyManagement>
        <dependencies>
        dependencies>
    dependencyManagement>
    
    <distributionManagement>
        
        <repository>
            
            <id>repoid>
            
            <name>lwlname>
            
            <url>urlurl>
            
            <layout>defaultlayout>
            
            <uniqueVersion>trueuniqueVersion>
        repository>
        
        <snapshotRepository>
            <……>
        snapshotRepository>
        
        <site>
            
            <id>idid>
            <name>namename>
            <url>urlurl>
        site>
        
        <downloadUrl>downloadUrldownloadUrl>
        
        <relocation>
        relocation>
        
        <status>nonestatus>
    distributionManagement>
project>

你可能感兴趣的:(#,Maven,maven,xml,java)