maven pom中build的配置

阅读数:196 评论数:0

跳转到新版页面

分类

应用软件

正文

在Maven的pom.xml文件中,存在如下两种build

<project>
    <build>...</build>
    
    <profiles>
    	<profile>
            <build>...</build>
        </profile>
    </profiles>
</project>    

第一种被称为Project Build,另一种被称为Profile Build。

Project Build和Profile Build的共有元素:

1、共用的基本build元素

<build>
    <defaultGoal>install</defaultGoal>
    <directory>${basedir}</directory>
    <finalName>${artifactId}-${version}</finalName>
</build>

defaultGoal:执行构建时默认的goal或phase,如jar或者package等。

directory:构建结果所在路径,默认为${basedir}/target目录。

finalName:构建最终结果的名字,该名字可能在其他plugin中被改变。

2、资源

资源往往不是代码,无需编译,而是一些配置文件,构建过程往往会将资源文件从源路径复制到指定的目标路径。

<resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
</resources>

(1)resource元素

build过程中涉及的资源文件。

(2)targetPath

资源文件的目标路径

(3)filtering

构建过程是否对资源进行过滤,默认false。

(4)directory

资源文件的路径,默认位于${basedir}/src/main/resources目录下。

(5)includes

一组文件名的匹配模式,被匹配的资源文件将被 构建过程处理。

(6)excludes

一组文件名的匹配模式,被匹配的资源文件将被构建过程忽略,同时被includes和excludes匹配的资源文件,将被忽略。

(7)filters

给出资源文件进行过滤的属性文件的路径,默认位于${basedir}/src/main/filters/目录下,属性文件中定义若干键值对,在构建过程中,对于资源文件中出现的变量(键),将使用属性文件中该键对应的值替换。

(8)testResources

test过程中涉及的文件,默认位于${basedir}/src/test/resources/目录下,这里的资源文件不会被构建到目标构建中。

3、构建过程和到的插件

(1)extensions

是否加载该插件的扩展,默认false。

(2)inherited

该插件rconfiguration中配置是否可以被继承,默认true。

(3)configuration

该插件所需的特殊配置,父子项目之间可以进行覆盖或者合并。

(4)dependencies

该插件所特有的依赖类库。

(5)executions

该插件的goal(一个插件可以包含多个goal)的执行方式。




相关推荐

Nexus是maven仓库管理器,可以使用它在本地架构一个maven仓库服务器。 https://help.sonatype.com/en/download.html 可能需要借助梯子。 一、修改启

目的 在你的maven项目中创建一个Docker镜像。比方说,build过程可以为java服务输出一个可以运行该服务的Docker镜像。 步骤 有两种配置方式,一种是通过Dockerfile文件,一种

&lt;mirror&gt; &lt;id&gt;alimaven&lt;/id&gt; &lt;name&gt;

Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式。在dependencyManagement元素中声明所依赖的jar包的版本号等信息,那么所有<stron

在pom.xml中使用distributionManagement将项目打包上传到nexus私服(maven的一种远程私有仓库)。 <pre class="language-markup

一、概述 repositories配置jar仓库,pluginRepositories配置插件仓库。 二、通过项目pom.xml配置 <repositories> <repository>

dependencyManagement 只是声明依赖,并不实际引入,只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目继承该项。 denpende

一、前置知识 1、settings.xml中的proxy、server、repository、mirror proxy 是服务器不能直接访问外网时需要设置的代理服务。 server 是服务器

在构建Maven项目的时候,如果没有进行特殊配置,Maven会按照 标准的目录结构查找和处理各种类型文件。 src/main/java和src/test/java <p

每个插件都都有一个&lt;skip&gt;&lt;/skip&gt;属性,maven在调用插件的时候判断这个属性的值是否是true,是true的话就跳过。 <pre class="lan