Maven build标签
前言:
<build >设置,主要用于编译设置
1.分类
在Maven的pom.xml文件中,存在如下两种<build>:
(1)全局配置(project build)
针对整个项目的所有情况都有效
(2)配置(profile build)
针对不同的profile配置
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> ... <!-- "Project Build" contains elements of the BaseBuild set and the Build set--> <build>...</build> <profiles> <profile> <!-- "Profile Build" contains elements of the BaseBuild set only --> <build>...</build> </profile> </profiles> </project>
说明:
一种<build>被称为Project Build,即是<project>的直接子元素。
另一种<build>被称为Profile Build,即是<profile>的直接子元素。
Profile Build包含了基本的build元素,而Project Build还包含两个特殊的元素,即各种<...Directory>和<extensions>。
2. 配置说明
1.基本元素
示例如下
<build> <defaultGoal>install</defaultGoal> <directory>${basedir}/target</directory> <finalName>${artifactId}-${version}</finalName> <filters> <filter>filters/filter1.properties</filter> </filters> ...</build>
1)defaultGoal
执行build任务时,如果没有指定目标,将使用的默认值。
如上配置:在命令行中执行mvn,则相当于执行mvn install
2)directory
build目标文件的存放目录,默认在${basedir}/target目录
3)finalName
build目标文件的名称,默认情况为${artifactId}-${version}
4)filter
定义*.properties文件,包含一个properties列表,该列表会应用到支持filter的resources中。
也就是说,定义在filter的文件中的name=value键值对,会在build时代替${name}值应用到resources中。
maven的默认filter文件夹为${basedir}/src/main/filters
2. Resources配置
用于包含或者排除某些资源文件
<build> ... <resources> <resource> <targetPath>META-INF/plexus</targetPath> <filtering>true</filtering> <directory>${basedir}/src/main/plexus</directory> <includes> <include>configuration.xml</include> </includes> <excludes> <exclude>**/*.properties</exclude> </excludes> </resource> </resources> <testResources> ... </testResources> ... </build>
1)resources
一个resources元素的列表。每一个都描述与项目关联的文件是什么和在哪里
2)targetPath
指定build后的resource存放的文件夹,默认是basedir。
通常被打包在jar中的resources的目标路径是META-INF
3)filtering
true/false,表示为这个resource,filter是否激活
4)directory
定义resource文件所在的文件夹,默认为${basedir}/src/main/resources
5)includes
指定哪些文件将被匹配,以*作为通配符
6)excludes
指定哪些文件将被忽略
7)testResources
定义和resource类似,只不过在test时使用
3 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>
4 pluginManagement配置
pluginManagement的配置和plugins的配置是一样的,只是用于继承,使得可以在孩子pom中使用。
父pom:
<build> ... <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.2</version> <executions> <execution> <id>pre-process-classes</id> <phase>compile</phase> <goals> <goal>jar</goal> </goals> <configuration> <classifier>pre-process</classifier> </configuration> </execution> </executions> </plugin> </plugins> </pluginManagement> ... </build>
则在子pom中,我们只需要配置:
<build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </plugin> </plugins> ... </build>
这样大大简化了孩子pom的配置
转载于:https://www.cnblogs.com/whx7762/p/7911890.html
Maven build标签相关推荐
- maven build 配置
maven build 配置 为了统一管理版本号,可以使用properties标签,里面可以自定义版本的标签名.在使用的地方使用${自定义标签名} build配置 <build><! ...
- eclipse中的maven build 、maven clean 、 maven install作用
eclipse中的maven build .maven clean . maven install作用 转载于:https://www.cnblogs.com/ZeGod/p/10483605.htm ...
- eclipse中的maven build、maven clean、maven install和maven test的区别
eclipse中的maven build.maven clean.maven install和maven test的区别 https://www.cnblogs.com/Marydon20170307 ...
- 如何研究Maven build时发生了哪些事情
Sent: Friday, April 10, 2015 4:11 PM Subject: 如何研究Maven build时发生了哪些事情 有同事说对Maven build的过程感到很神秘,觉得是个黑 ...
- 如何处理Maven build错误 Non-Resolvable parent POM
使用Maven build project时遇到如下error message: 打开build debug mode, 观察debug information的输出: 读取的setting文件pat ...
- clipse中使用maven插件的时候,运行run as maven build的时候报错:
clipse中使用maven插件的时候,运行run as maven build的时候报错: -Dmaven.multiModuleProjectDirectory system propery is ...
- maven插件打包exec_Exec Maven插件–从Maven Build运行Java程序
maven插件打包exec Maven exec plugin allows us to execute system and Java programs from the maven command ...
- 在eclipse如何删除无效的maven build
在Eclipse的maven项目中,点击一次"maven build..."明明没有配置,它也就会产生一个maven build,那么如何删除这些无效的配置呢?
- java build failed_java - maven build failed:无法在jre或jdk issu中找到Javac编译器
java - maven build failed:无法在jre或jdk issu中找到Javac编译器 我将JAVA_HOME设置为 C:\Program Files (x86)\Java\jdk1 ...
最新文章
- python用渐变色画圆_利用python控制Autocad:pyautocad方式
- iframe 父窗口和子窗口相互的调用方法集锦
- python圆柱体,用PYTHON将圆柱体分散到3D XYZ点数据
- python程序设计实验教程 翟萍 第五章答案_Python程序设计实验教程
- Method Overloading
- 请给出一个时间为O(nlgk)、用来将k个已排序链表的算法。此处n为所有输入链表中元素的总数。...
- Matlab--三维散点插值成曲面
- 【英语学习】【Level 08】U03 My Choice L5 The star that shines the brightest
- Ising模型(伊辛模型)
- FormatMessage函数
- TensorFlow 强化学习快速入门 -- Kaushik Balakrishnan 读后感
- html返回顶部开始隐藏,回到顶部并且监听顶部按钮显示或隐藏
- vmplayer网络配置详解
- MintUI(详见官方文档)
- C#上位机与欧姆龙PLC通讯(FINS)
- 废柴日记之国庆特辑:那些年我们一直分不清楚的近义词们②
- 简谈五线制交流道岔控制电路故障的处理方法【铁路信号技术专栏】——转自微信公众号高速铁路信号技术交流
- MMO游戏服务器从零开发(架构篇)- 网络部分
- 泛函分析和他的基础概念
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用44
热门文章
- C++标准库简介(转)
- 关于矩形连线 (rectangle connect)
- C++数组名做函数形参/指针
- linux shell cgi post,linux下shell处理cgi的方法--post get
- nginx在linux下安装,Nginx在linux下安装及简单命令
- jsp与java的关系_jsp教程中:jsp与servlet的区别和关系
- java 初始化系统参数_系统中参数的初始化 参数在系统中配置
- 基于Python的人脸自动戴口罩系统
- face-swap.zip百度网盘下载
- python动态类型是如何实现的_Python 的动态类型系统