Maven中的Build标签

Posted Kikochz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven中的Build标签相关的知识,希望对你有一定的参考价值。

 

[1] 基本元素

<build>
?
        <finalName>maven-build-demo</finalName>
        <defaultGoal>install</defaultGoal>
        <directory>${basedir}/target</directory>
        <finalName>${artifactId}-${version}</finalName>
        <filters>
                <filter>filters/filter1.properties</filter>
        </filters>
         ...
</build>

 

  • finalName

    指定打包文件名称(可用于出去jar文件版本号)

  • defaultGoal

    执行build任务时, 如果没有指定目标, 将使用默认值

    如上配置: 在命令行中执行mvn, 则相当于执行mvn install

  • directory

    build目标文件的存放目录, 默认在${basedire}/target , 即项目根目录下的target

  • fileName

    build目标文件的名称, 默认情况为${artifactId}-${version}

  • filters

    给出对资源文件进行过滤的属性文件的路径,默认位于${basedir}/src/main/filters/目录下。

    属性文件中定义若干了键值对,用于在构建过程中将资源文件中出现的变量(键)替换为对应的值。

    例如 properties文件中

    有name=value , 则pom文件中定义的${name}值就是value

     

[2] Resource 配置

<build>
        ...
       <resources>
                  <resource>
                        <targetPath>META-INF/plexus</targetPath>
                        <filtering>false</filtering>
                        <directory>${basedir}/src/main/plexus</directory>
                        <includes>
                        <include>configuration.xml</include>
                        </includes>
                        <excludes>
                        <exclude>**/*.properties</exclude>
                        </excludes>
                </resource>
    </resources>
    <testResources>
        ...
    </testResources>
    ...
</build>

 

  • resources

    对应项目的resource文件,可以配置多个项目资源

  • targetPath

    指定build后的resource存放的文件夹, 默认是basedir.

    通常被打包在jar中的resources的目标路径是META-INF

  • filtering

    true/false, 表示该pom配置的filter是否激活

  • directory

    定义resource文件所在的文件夹, 默认为${basedir}/src/main/resource

  • includes

    包含内容(编译时仅复制包含的内容)

  • excludes

    排除内容(编译时不复制指定排除的内容)

  • testResourecs

    定义和resource类似, 只不过在test时使用

[1]plugins配置

<build>
    ...
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.0</version>
            <extensions>false</extensions>
            <inherited>true</inherited>
            <configuration>
                <classifier>test</classifier>
            </configuration>
            <dependencies>...</dependencies>
            <executions>...</executions>
        </plugin>
    </plugins>
</build>

 

  • GAV

    指定插件的标准坐标

  • extensions

    是否加载plugin的extensions, 默认为false

  • inherited

    true/false, 这个plugin是否应用到该pom的子pom, 默认为true

  • configuration

    配置该plugin期望得到的properties

  • dependencies

    作为plugin的依赖

  参考:

https://blog.csdn.net/cpf2016/article/details/45674377?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5

https://blog.csdn.net/jiachunchun/article/details/90235498?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

以上是关于Maven中的Build标签的主要内容,如果未能解决你的问题,请参考以下文章

Maven(12) build 构建的使用

Maven build之pom.xml文件中的Build配置

操作栏标签片段中的片段?

如何从詹金斯访问maven属性?

maven打包版本号问题

IDEA中的Maven项目配置了resources标签还是不能成功导出资源?