Maven项目规范与约定配置

目录规范

Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:
在这里插入图片描述

目录说明
demo-test项目名称
src/main/java项目源码目录
src/main/resources项目资源文件目录,包括项目用到的静态文件、配置文件等
src/test/java测试代码源码目录
src/test/resources测试代码用到的资源文件目录
targetMaven编译打包后的文件目录
pom.xmlMaven项目对象模型文件(依赖和编译打包配置文件)

版本规范

Maven项目版本规范按如下结构进行定义:
<major version>.<minor version>.<incremental version>-<qualifier>

  1. [主版本号] major version 表示大版本号,重大更新或改版升级,一般不与历史版本兼容
  2. [次版本号] minor version 表示中版本号,一般有新增功能时,会改变此版本号,保持相对兼容性
  3. [增量版本号] incremental version 表示小版本号,修复历史版本BUG,完全兼容历史版本
  4. [版本状态] 可选值,表示当前版本的状态。可选值有:SNAPSHOT、RELEASE、LATEST等

其中每个节点都可以抛弃,但至少包含一个节点,如可以为 version 命名为 1


SNAPSHOT 版本
快照版本,一般在开发阶段使用,我们在提交发布 SNAPSHOT 版本时(mvn deploy),Maven会自动提交一个带时间戳的版本号,并自动发布到私服的快照版本库中。当我们每次执行编译打包时,Maven 如果发现有依赖版本状态为 SNAPSHOT 的依赖时, 都会自动从远程仓库更新到 SNAPSHOT 的最新版本(比较lastUpdated)
RELEASE 版本
释放版本,这是一个稳定版本。这个版本的依赖在编译打包项目时,如果本地仓库中有依赖包,则不会从远程仓库更新下载(比较版本号)
LATEST 版本
指最新发布的,可能是一个 RELEASE 版,也可能是一个 SNAPSHOT 版,按最新发布时间选择

约定配置变量

变量说明
${basedir}项目根目录,包含有 pom.xml 文件的目录
${version}项目的版本号
${project.basedir}项目更路径,同${basedir}
${maven.build.timestamp}Maven构建项目的开始时间
${settings.localRepository }本地Maven仓库地址
${project.build.directory}项目源码的路径
${project.build.sourceEncoding}源码的编码格式
${project.build.sourceDirectory}项目源码的路径
${project.build.finalName}编译输出文件的名称
${project.version}项目的版本号
${user.home}用户目录
${java.version}Java版本号
${env.JAVA_HOME}环境变量中配置的JAVA_HOME的值
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值