【SpringBoot】基于 Maven 的 pom.xml 配置详解

基于 Maven 的 pom.xml 配置详解

  • 1. 什么是 settings.xml
  • 2. 什么是 Maven POM
  • 3. pom.xml 文件详解
  • 4. 基本配置
    • 4.1 project
    • 4.2 modelVersion
    • 4.3 parent
      • 4.3.1 relativePath
    • 4.4 项目元数据 - Project Metadata
      • 4.4.1 groupId
      • 4.4.2 artifactId
      • 4.4.3 version
      • 4.4.4 packaging
      • 4.4.5 name
      • 4.4.6 description
      • 4.4.7 url
    • 4.5 properties
    • 4.6 modules
    • 4.7 dependencyManagement
    • 4.8 dependencies
  • 5. 构建过程的设置
    • 5.1 build
  • 6 环境设置
    • 6.1 repositories
    • 6.2 profiles

1. 什么是 settings.xml

  • 从 settings.xml 的文件名就可以看出,它是用来设置 maven 参数的配置文件。

  • settings.xml 是 maven 的全局配置文件。而 pom.xml 文件是所在项目的局部配置。

  • settings.xml 中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。

https://maven.apache.org/settings.html

2. 什么是 Maven POM

POM是 “Project Object Model” 的简写,它是一个 XML 声明,在 Maven 项目中保存在一个名为 pom.xml 的文件里。

对于 Maven 项目来说,它不仅仅是一个包含代码文件的集合。一个项目包含配置文件,涉及的开发人员以及他们扮演的角色,缺陷跟踪系统,组织和许可证,项目所在位置的URL,项目的依赖关系,以及所有其他可以赋予代码生命的小部件。事实上,在 Maven 的世界中,一个项目甚至可以不包含任何代码,只需要一个 pom.xml。

https://maven.apache.org/pom.html

3. pom.xml 文件详解

<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/maven-v4_0_0.xsd "> 

     
    <parent> 
         
        <artifactId>xxxartifactId>

        
        <groupId>xxxgroupId> 

         
        <version>xxxversion>

         
        <relativePath>xxxrelativePath> 
    parent> 

     
    <modelVersion> 4.0.0 modelVersion> 

     
    <groupId>xxxgroupId> 

     
    <artifactId>xxxartifactId> 

     
    <packaging> jar packaging> 

     
    <version> 1.0-SNAPSHOT version> 

     
    <name> xxx-maven name> 

     
    <url> http://maven.apache.org url> 

     
    <description> A maven project to study maven. description> 

     
    <properties>
        <name>valuename>
    properties> 
    
     
    <prerequisites> 
         
        <maven>maven> 
    prerequisites> 

     
    <issueManagement> 
         
        <system> jira system> 

         
        <url> http://jira.baidu.com/banseon url> 
    issueManagement> 

     
    <ciManagement> 
         
        <system>system> 

         
        <url>url> 

         
        <notifiers> 
             
            <notifier> 
                 
                <type>type> 

                 
                <sendOnError>sendOnError> 

                 
                <sendOnFailure>sendOnFailure> 

                 
                <sendOnSuccess>sendOnSuccess> 

                 
                <sendOnWarning>sendOnWarning> 

                 
                <address>address> 

                 
                <configuration>configuration> 
            notifier> 
        notifiers> 
    ciManagement> 

     
    <inceptionYear /> 

     
    <mailingLists> 
         
        <mailingList> 
             
            <name> Demo name> 

             
            <post> [email protected] post> 

             
            <subscribe> [email protected] subscribe> 

             
            <unsubscribe> [email protected] unsubscribe> 

             
            <archive> http:/hi.baidu.com/banseon/demo/dev/ archive> 
        mailingList> 
    mailingLists> 

     
    <developers> 
         
        <developer> 
             
            <id> HELLO WORLD id>
            
             
            <name> banseon name> 

             
            <email> [email protected] email> 

             
            <url>url> 

             
            <roles> 
                <role> Project Manager role> 
                <role> Architect role> 
            roles> 

             
            <organization> demo organization> 

             
            <organizationUrl> http://hi.baidu.com/xxx organizationUrl> 

             
            <properties> 
                <dept> No dept> 
            properties> 

             
            <timezone> -5 timezone> 
        developer> 
    developers> 

     
    <contributors> 
         
        <contributor> 
             
            <name>name>

            
            <email>email>

            
            <url>url>

            
            <organization>organization>

            
            <organizationUrl>organizationUrl>

             
            <roles> 
                <role> Project Manager role> 
                <role> Architect role> 
            roles>

             
            <timezone>timezone>
            
             
            <properties> 
                <dept> No dept> 
            properties>  
        contributor> 
    contributors> 

     
    <licenses> 
         
        <license> 
             
            <name> Apache 2 name> 

             
            <url> http://www.baidu.com/banseon/LICENSE-2.0.txt url> 

             
            <distribution> repo distribution> 

             
            <comments> A business-friendly OSS license comments> 
        license> 
    licenses> 

     
    <scm> 
         
        <connection> 
            scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
        connection> 

         
        <developerConnection> 
            scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk 
        developerConnection> 

         
        <tag>tag> 

         
        <url> http://svn.baidu.com/banseon url> 
    scm> 

     
    <organization> 
         
        <name> demo name> 

         
        <url> http://www.baidu.com/banseon url> 
    organization> 

     
    <build> 
         
        <sourceDirectory>sourceDirectory> 

         
        <scriptSourceDirectory>scriptSourceDirectory> 

         
        <testSourceDirectory>testSourceDirectory> 

         
        <outputDirectory>outputDirectory> 

         
        <testOutputDirectory>testOutputDirectory> 

         
        <extensions> 
             
            <extension> 
                 
                <groupId>groupId> 

                 
                <artifactId>artifactId> 

                 
                <version>version> 
            extension> 
        extensions> 

         
        <defaultGoal>defaultGoal> 

         
        <resources> 
             
            <resource> 
                 
                <targetPath>targetPath> 

                 
                <filtering>filtering>

                 
                <directory>directory>

                 
                <includes>
                    <include>include>
                includes>

                
                <excludes>
                    <exclude>exclude>
                excludes>
            resource> 
        resources> 

         
        <testResources> 
             
            <testResource> 
                 
                <targetPath>targetPath> 

                 
                <filtering>filtering>

                 
                <directory>directory>

                 
                <includes>
                    <include>include>
                includes>

                
                <excludes>
                    <exclude>exclude>
                excludes> 
            testResource> 
        testResources> 

         
        <directory>directory> 

         
        <finalName>finalName> 

         
        <filters>filters> 

         
        <pluginManagement> 
             
            <plugins> 
                 
                <plugin> 
                     
                    <groupId>groupId> 

                     
                    <artifactId>artifactId> 

                     
                    <version>version> 

                     
                    <extensions>true/falseextensions> 

                     
                    <executions> 
                         
                        <execution> 
                             
                            <id>id>

                             
                            <phase>phase>

                             
                            <goals>goals> 

                             
                            <inherited>true/falseinherited> 

                             
                            <configuration>configuration>
                        execution> 
                    executions> 

                     
                    <dependencies>
                         
                        <dependency> 
                        dependency> 
                    dependencies> 

                     
                    <inherited>true/falseinherited>

                     
                    <configuration>configuration>
                plugin> 
            plugins> 
        pluginManagement> 

         
        <plugins> 
             
            <plugin> 
                 
                <groupId>groupId> 

                 
                <artifactId>artifactId> 

                 
                <version>version> 

                 
                <extensions>true/falseextensions> 

                 
                <executions> 
                     
                    <execution> 
                         
                        <id>id>

                         
                        <phase>phase>

                         
                        <goals>goals> 

                         
                        <inherited>true/falseinherited> 

                         
                        <configuration>configuration>
                    execution> 
                executions> 

                 
                <dependencies>
                     
                    <dependency> 
                    dependency> 
                dependencies> 

                 
                <inherited>true/falseinherited> 

                 
                <configuration>configuration> 
            plugin> 
        plugins>
    build> 

     
    <profiles> 
         
        <profile> 
             
            <id>id>

             
            <activation> 
                 
                <activeByDefault>true/falseactiveByDefault> 

                 
                <jdk>jdk版本,如:1.7jdk> 

                 
                <os> 
                     
                    <name> Windows XP name> 

                     
                    <family> Windows family> 

                     
                    <arch> x86 arch> 

                     
                    <version> 5.1.2600 version> 
                os> 

                 
                <property> 
                     
                    <name> mavenVersion name> 

                     
                    <value> 2.0.3 value> 
                property> 

                 
                <file> 
                     
                    <exists> /usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/ exists> 

                     
                    <missing> /usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/ missing> 
                file> 
            activation> 

             
            <build> 
                <defaultGoal /> 
                <resources> 
                    <resource> 
                        <targetPath>targetPath>
                        <filtering>filtering>
                        <directory>directory>
                        <includes>
                            <include>include>
                        includes>
                        <excludes>
                            <exclude>exclude>
                        excludes>
                    resource> 
                resources> 
                <testResources> 
                    <testResource> 
                        <targetPath>targetPath>
                        <filtering>filtering>
                        <directory>directory>
                        <includes>
                            <include>include>
                        includes>
                        <excludes>
                            <exclude>exclude>
                        excludes> 
                    testResource> 
                testResources> 
                <directory>directory>
                <finalName>finalName>
                <filters>filters> 
                <pluginManagement> 
                    <plugins> 
                         
                        <plugin> 
                            <groupId>groupId>
                            <artifactId>artifactId>
                            <version>version>
                            <extensions>true/falseextensions> 
                            <executions> 
                                <execution> 
                                    <id>id>
                                    <phase>phase>
                                    <goals>goals>
                                    <inherited>true/falseinherited>
                                    <configuration>configuration> 
                                execution> 
                            executions> 
                            <dependencies> 
                                 
                                <dependency> 
                                dependency> 
                            dependencies> 
                            <goals>goals>
                            <inherited>true/falseinherited>
                            <configuration>configuration>
                        plugin> 
                    plugins> 
                pluginManagement> 
                <plugins> 
                     
                    <plugin> 
                        <groupId>groupId>
                        <artifactId>artifactId>
                        <version>version>
                        <extensions>true/falseextensions> 
                        <executions> 
                            <execution> 
                                <id>id>
                                <phase>phase>
                                <goals>goals>
                                <inherited>true/falseinherited>
                                <configuration>configuration> 
                            execution> 
                        executions> 
                        <dependencies> 
                             
                            <dependency> 
                            dependency> 
                        dependencies> 
                        <goals>goals>
                        <inherited>true/falseinherited>
                        <configuration>configuration> 
                    plugin> 
                plugins> 
            build> 

             
            <modules>
                
                <module>module>
            modules> 

             
            <repositories> 
                 
                <repository> 
                    <releases> 
                        <enabled><enabled>
                        <updatePolicy>updatePolicy>
                        <checksumPolicy>checksumPolicy> 
                    releases> 
                    <snapshots> 
                        <enabled><enabled>
                        <updatePolicy>updatePolicy>
                        <checksumPolicy>checksumPolicy> 
                    snapshots> 
                    <id>id>
                    <name>name>
                    <url>url>
                    <layout>layout> 
                repository> 
            repositories> 

             
            <pluginRepositories> 
                 
                <pluginRepository> 
                    <releases> 
                        <enabled><enabled>
                        <updatePolicy>updatePolicy>
                        <checksumPolicy>checksumPolicy> 
                    releases> 
                    <snapshots> 
                        <enabled><enabled>
                        <updatePolicy>updatePolicy>
                        <checksumPolicy>checksumPolicy>
                    snapshots> 
                    <id>id>
                    <name>name>
                    <url>url>
                    <layout>layout> 
                pluginRepository> 
            pluginRepositories> 

             
            <dependencies> 
                 
                <dependency> 
                dependency> 
            dependencies> 

             
            <reports>reports> 

             
            <reporting>reporting> 

             
            <dependencyManagement> 
                <dependencies> 
                     
                    <dependency> 
                    dependency> 
                dependencies> 
            dependencyManagement> 

             
            <distributionManagement> 
            distributionManagement> 

             
            <properties /> 
        profile> 
    profiles> 

     
    <modules>
        
        <module>module>
    modules> 

     
    <repositories> 
         
        <repository> 
             
            <releases> 
                 
                <enabled><enabled> 

                 
                <updatePolicy>updatePolicy> 

                 
                <checksumPolicy>checksumPolicy> 
            releases> 

             
            <snapshots> 
                <enabled><enabled>
                <updatePolicy>updatePolicy>
                <checksumPolicy>checksumPolicy> 
            snapshots> 

             
            <id> banseon-repository-proxy id> 

             
            <name> banseon-repository-proxy name> 

             
            <url> http://192.168.1.169:9999/repository/ url> 

             
            <layout> default layout> 
        repository> 
    repositories> 

     
    <pluginRepositories> 
         
        <pluginRepository> 
        pluginRepository> 
    pluginRepositories> 

     
    <dependencies> 
        <dependency> 
             
            <groupId> org.apache.maven groupId> 

             
            <artifactId> maven-artifact artifactId> 

             
            <version> 3.8.1 version> 

             
            <type> jar type> 

             
            <classifier>classifier> 

             
            <scope> test scope> 

             
            <systemPath>systemPath> 

             
            <exclusions> 
                <exclusion> 
                    <artifactId> spring-core artifactId> 
                    <groupId> org.springframework groupId> 
                exclusion> 
            exclusions> 

             
            <optional> true optional> 
        dependency> 
    dependencies> 

     
    <reports>reports> 

     
    <reporting> 
         
        <excludeDefaults /> 

         
        <outputDirectory /> 

         
        <plugins> 
             
            <plugin> 
                 
                <groupId>groupId> 
                 
                <artifactId>artifactId> 

                 
                <version>version> 

                 
                <inherited>true/falseinherited> 

                 
                <configuration>configuration> 

                 
                <reportSets> 
                     
                    <reportSet> 
                         
                        <id>id> 

                         
                        <configuration>configuration> 

                         
                        <inherited>true/falseinherited> 

                         
                        <reports>reports> 
                    reportSet> 
                reportSets> 
            plugin> 
        plugins> 
    reporting> 

     
    <dependencyManagement> 
        <dependencies> 
             
            <dependency> 
            dependency> 
        dependencies> 
    dependencyManagement> 

     
    <distributionManagement> 
         
        <repository> 
             
            <uniqueVersion /> 
            <id> banseon-maven2 id> 
            <name> banseon maven2 name> 
            <url> file://${basedir}/target/deploy url> 
            <layout>layout> 
        repository> 

         
        <snapshotRepository> 
            <uniqueVersion /> 
            <id> banseon-maven2 id> 
            <name> Banseon-maven2 Snapshot Repository name> 
            <url> scp://svn.baidu.com/banseon:/usr/local/maven-snapshot url> 
            <layout>layout>
        snapshotRepository> 

         
        <site> 
             
            <id> banseon-site id> 

             
            <name> business api website name> 

             
            <url> 
                scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web 
            url> 
        site> 

         
        <downloadUrl /> 

         
        <relocation> 
             
            <groupId>groupId> 

             
            <artifactId>artifactId> 

             
            <version>version> 

             
            <message>message> 
        relocation> 

         
        <status>status> 
    distributionManagement> 
project> 

下面着重介绍一下一些常用配置:

4. 基本配置

4.1 project

xmlns="http://maven.apache.org/POM/4.0.0",定义了 pom(4.0) 命名空间(xmlns);

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance",创建了一个 xsi 命名空间;

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd",定义了 xsd 文件的位置,以便 XML 解析器解析 XML 文件。

4.2 modelVersion

声明项目描述符遵循哪一个 POM 模型版本。模型本身的版本很少改变,虽然如此,但它仍然是必不可少的,这是为了当 Maven 引入了新的特性或者其他模型变更的时候,确保稳定性。

modelVersion 是 4.0.0,它是当前唯一同时支持 Maven2 和 Maven3 的 POM 版本。

 <modelVersion>4.0.0modelVersion>  

4.3 parent

父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值。坐标包括 groupId,artifactIdversion

<parent>
    <artifactId>pointer-boot-projectartifactId>
    <groupId>com.pointer.bootgroupId>
    <version>1.0.0-SNAPSHOTversion>
parent>

4.3.1 relativePath

父项目的 pom.xml 文件的相对路径。相对路径允许你选择一个不同的路径。默认值是…/pom.xml。Maven首先在构建当前项目的地方寻找父项目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的 pom。

<parent>
    <artifactId>pointer-boot-projectartifactId>
    <groupId>com.pointer.bootgroupId>
    <version>1.0.0-SNAPSHOTversion>
    <relativePath>../pointer-boot-parentrelativePath>
parent>

4.4 项目元数据 - Project Metadata

4.4.1 groupId

公司或者组织的唯一标志,通常使用全限定的包名区分该项目和其他项目。并且构建时生成的路径也是由此生成,如 com.pointer.boot,maven 会将该项目打成的 jar 包放本地路径:/com/pointer/boot

<groupId>com.pointer.bootgroupId>

4.4.2 artifactId

构件的标识符,它和 groupId一起唯一标识一个构件。换句话说,你不能有两个不同的项目拥有同样的 artifactId 和 groupId;在某个特定的 groupId下,artifactId 也必须是唯一的。构件是项目产生的或使用的一个东西,Maven 为项目产生的构件包括:JARs,源码,二进制发布和WARs等。

<artifactId>pointer-bootartifactId>

4.4.3 version

项目当前版本,格式为:X.Y.Z-V(主版本.次版本.修订号-限定版本号)

  • X 表示主版本号,当 API 的兼容性变化时,X 需递增。

  • Y 表示次版本号,当你做了向下兼容的功能更新(增加功能)时,不影响 API 的兼容性,Y 需递增。

  • Z 表示修订号,当你做了向下兼容的问题修正(Bug 修复)时,不影响 API 的兼容性,Z 需递增。

  • V 表示限定版本号,常用的有SNAPSHOT - 快照版本、RELEASE - 发布版本。

<version>1.0.0-SNAPSHOTversion>

4.4.4 packaging

项目产生的构件类型,例如:jar、war、pom、maven-plugin、ejb、ear, rar、par,默认为jar。插件可以创建他们自己的构件类型。

<packaging>jarpackaging>

4.4.5 name

项目的名称, Maven产生的文档用。

<name>demoname> 

4.4.6 description

项目的详细描述,Maven 产生的文档用。 当这个元素能够用HTML格式描述时(例如,CDATA中的文本会被解析器忽略,就可以包含HTML标签), 不鼓励使用纯文本描述。如果你需要修改产生的web站点的索引页面,你应该修改你自己的索引页文件,而不是调整这里的文档。

<description>demo project for Spring Bootdescription>

4.4.7 url

项目主页的URL, Maven产生的文档用。

<url>http://maven.apache.orgurl> 

4.5 properties

以值替代名称,properties 可以在整个POM中使用,也可以作为触发条件(见settings.xml配置文件里 activation 元素的说明)。格式是value。

<properties>
  <java.version>1.8java.version>
  <resource.delimiter>@resource.delimiter>
  <maven.compiler.source>${java.version}maven.compiler.source>
  <maven.compiler.target>${java.version}maven.compiler.target>
  <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
  <redisson.version>3.16.8redisson.version>
properties>

4.6 modules

模块(有时称作子项目) 被构建成项目的一部分。列出的每个模块元素是指向该模块的目录的相对路径

<modules>
    <module>pointer-bootmodule>
    <module>pointer-boot-dependenciesmodule>
    <module>pointer-boot-parentmodule>
    <module>pointer-boot-startersmodule>
modules>

4.7 dependencyManagement

在项目顶层的POM文件中,通过 dependencyManagement 元素来管理 jar 包的版本,让子项目中引用一个依赖而不用显示的列出版本号。Maven 会沿着父子层次向上走,直到找到一个拥有 dependencyManagement 元素的项目,然后它就会使用在这个 dependencyManagement 元素中指定的版本号。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.redissongroupId>
            <artifactId>redisson-spring-boot-starterartifactId>
            <version>${redisson.version}version>
        dependency>
    dependencies>
dependencyManagement>

4.8 dependencies

该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。一个 dependencies 中包含多个 dependency 标签。

<dependencies>
     <dependency>
        <groupId>org.redissongroupId>
        <artifactId>redisson-spring-boot-starterartifactId>
    dependency>
    <dependency>
        <groupId>com.alibabagroupId>
        <artifactId>fastjsonartifactId>
    dependency>
dependencies>

5. 构建过程的设置

5.1 build

构建项目需要的信息


<build>
    
    <sourceDirectory>sourceDirectory>
    
    <testSourceDirectory>testSourceDirectory>
    
    <outputDirectory>outputDirectory>
    
    <testOutputDirectory>testOutputDirectory>
    
    <resources>
        
        <resource>
            
            <targetPath>targetPath>
            
            <filtering>filtering>
            
            <directory>directory>
            
            <includes>
                <include>include>
            includes>
            
            <excludes>
                <exclude>exclude>
            excludes>
        resource>
    resources>

    
    <pluginManagement>
        
        <plugins>
            
            <plugin>
                
                <groupId>groupId>
                
                <artifactId>artifactId>
                
                <version>version>
                
                <executions>
                    
                    <execution>
                        
                        <id>id>
                        
                        <phase>phase>
                        
                        <goals>goals>
                        
                        <configuration>configuration>
                    execution>
                executions>
                
                <configuration>configuration>
            plugin>
        plugins>
    pluginManagement>

    
    <plugins>
        
        <plugin>
            
            <groupId>groupId>
            
            <artifactId>artifactId>
            
            <version>version>
            
            <configuration>configuration>
        plugin>
    plugins>
build>

6 环境设置

6.1 repositories

发现依赖和扩展的远程仓库列表。


<repositories>
    
    <repository>
        
        <id>banseon-repository-proxyid>
        
        <name>banseon-repository-proxyname>
        
        <url>http://192.168.1.169:9999/repository/url>
        
        <layout>defaultlayout>

        
        <releases>
            
            <enabled>enabled>
            
            <updatePolicy>updatePolicy>
            
            <checksumPolicy>checksumPolicy>
        releases>

        
        <snapshots>
            <enabled>enabled>
            <updatePolicy>updatePolicy>
            <checksumPolicy>checksumPolicy>
        snapshots>
    repository>
repositories>

6.2 profiles

在maven构建的项目都存在一个pom.xml的项目对象模型配置文件,用于约束项目(如:jar包管理、构建管理等)。profiles是pom.xml中的一个配置项。

我们在开发项目时一般都会区分开发环境、测试环境、预发环境、生产环境等,这几个环境需要切换以适应不同的环境需求。

【SpringBoot】基于 Maven 的 pom.xml 配置详解_第1张图片

正式环境的配置,一般放置于src/main/resources下,而测试环境放置于/src/test/resources下面。

profile的主要作用就是区分正式环境和测试环境的配置。

<profiles>
    <profile>
        <id>releaseid>
        <build>
            <resources>
                <resource>
                    <directory>src/main/resourcesdirectory>
                    <includes>
                        <include>**/*include>
                    includes>
                resource>
            resources>
        build>
    profile>
     
    <profile>
        <id>testid>
        <build>
            <resources>
                <resource>
                    <directory>src/test/resourcesdirectory>
                    <includes>
                        <include>config/*.propertiesinclude>
                        <include>log4j.xmlinclude>
                    includes>
                resource>
                <resource>
                    <directory>src/main/resourcesdirectory>
                    <includes>
                        <include>**/*.xmlinclude>
                    includes>
                    <excludes>
                        <exclude>log4j.xmlexclude>
                    excludes>
                resource>
            resources>
        build>
        <activation>
                <activeByDefault>trueactiveByDefault>
           activation>
    profile>
profiles>

你可能感兴趣的:(Spring,Boot,Java,spring,boot,maven,java)