pom.xml文件配置属性简单了解
程序员文章站
2022-06-17 08:47:37
...
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<!--maven版本 -->
<modelVersion>4.0.0</modelVersion>
命名空间
- xmlns:XML命名空间,当两个xml文件一起使用,如果他们含有相同名称的元素,就会发生命名冲突,xml解析器无法处理这种冲突。所以使用命名空间来唯一标识xml中的子元素。
- xmlsi: XML Schema Instance
xml文件使用之前要验证,解析,那么怎么验证?答案是DTD(Document Type Definition 文档类型定义),定义了document type的格式。一个合格的xml文件,必须遵守xml的语法格式(规范),同时还要遵守DTD定义的文档类型的语法格式(规范),才能被解析、使用。而W3C支持一种基于xml的DTD替代者:xml schema 用来描述xml的结构。xsd就是xml schema definition,定义了xml schema的格式
所以上述第三行代码的意思就是这是一个符合xml schema规定的语法格式的实例,使用xsd来验证。至于语法格式是什么样的,第四行给了url,自己去找吧。
打包机制 如 jar war 等,默认为jar
- 公司或组织的唯一标识,配置时的路径由此生成,比如com.aaa.bocai maven将项目打包的jar放在本地路径com/aaa/bocai
- 项目名称的唯一标识,一个groupId下会有多个artifact,靠此id来区分。
- 当前项目的版本号
- 以上三个属性称为项目的坐标,唯一标识一个项目的位置。项目中用到的所有外部的工具(dependency,plugin等)都必须含有上述三个属性。
test
maven认为,程序对外部的依赖会随着程序的所处阶段和应用场景而变化,所以maven中的依赖关 系有作用域(scope)的限制
scope包含如下的取值:compile(编译范围)、provided(已提供范围)、runtime(运行时范 围)、test(测试范围)、system(系统范围)
屏蔽掉项目对某个库的依赖。
构建产生的所有文件存放的目录 true 是否使用参数值代替参数名,参数值取自properties元素或者文件里配置的属性,文件在filters元素里列出。 **/*.properties **/*.xml 包含的模式列表 jdbc.properties 排除的模式列表,如果includes 跟 excludes 冲突,以excludes为准 使用的插件列表maven 的构建生命周期有三个阶段 clean default, site。其中default是核心阶段。default的执行顺序:
validate–> compile–> test–>package --> verify—>install -->deploy ,每个阶段称称为一个phase,每个 phase都需要通过导入的plugin来完成指定的goal。goal至少一个,可以为多个。没有goal的phase是没有意义的。
shade goal 自动将所有没有使用到的 类排除掉。
下一篇: mybatisSpring 整合