Maven随记
因为最近要用到YCSB,需要了解其中的工作原理,因而被迫RTFSC。
虽然YCSB使用Java实现,我之前也用Java写过简单的SpringBoot,但当时也只是简单的处理依赖关系,骚操作没有YCSB这么多,因而这也算是第一次正式地使用Maven了。
POM,Project Object Model
,顾名思义,可以理解为对当前项目的“建模”,实现上采用了XML文件的形式来描述项目的结构,包括项目名、版本、以及其他和C/C++项目类似的文件结构的定义(源码、库、资源文件等)。
简要介绍一下常用,但网上解释不是很清晰的的XML块(补充性质):
-
profiles
profiles
中可以有多个profile
,每个profile
由一个id
和一组properties
组成,若当前profile和id
对应的时候,当前的properties就被激活。属性在properties
中以<key>value</key>
的XML格式声明,使用时用类shell的${}
操作符包裹key以获取属性值。(平时XML用得少,不是很习惯这种写法) assembly
一开始以为是汇编,存放的是什么低级字节码一类的,后来发现是打包,= = 在此可以声明自定义规则,format(s)
块用于声明打包文件类型,fileSet(s)
声明主要文件映射,dependencySet(s)
声明依赖文件映射。这里的映射是指源文件目录结构到压缩文件目录结构之间的,动作是将指定文件添加入压缩文件。directory
、outputDirectory
、include(s)
依次声明一个fileSet
所指向的目录、所要包含的文件和目标路径。