基于Maven pom文件中属性变量总结
作者:Machiel_One
这篇文章主要介绍了Maven pom文件中属性变量总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Maven pom文件属性变量总结
1.内置属性
${basedir}
表示当前项目根目录${version}
表示当前项目版本
2.POM属性
${project.artifactId}
等价于元素的值
个人理解,本质上每个标签底层是通过对象的引用实现,也同样存在继承特性(仅仅是个人理解,供参考)。
以此类推,可以发现很多这一类的属性定义。
类似地
${project.build.sourceDirectory}
:项目的主源码目录 默认为src/main/java/.${project.build.testSourceDirectory}
:项目的测试源码目录 默认为/src/test/java/.${project.build.directory}
:项目构建输出目录 默认为target/.${project.build.outputDirectory}
:项目主代码编译输出目录 默认为target/classes/.${project.build.testOutputDirectory}
:项目测试代码编译输出目录 默认为target/testclasses/.
当你新建一个maven project后,maven管理会给你按照底层约定,给你自动设置*directory的值,你可以通过IDE工具打开pom.xml文件,点选Effective POM,你会看到如图的默认设置。
3.自定义属性
你可以自己定义一个标签元素并设置相应的值,这样,你可以在该pom.xml中应用这个标签键值对,例如:
Maven pom变量定义
定义变量并赋值
<properties> <spring-framework.version>4.1.5</spring-framework.version> </properties>
使用
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring-framework.version}</version> </dependency>
一般用来管理依赖的版本号,这样做的好处:当版本号发生改变时,只需要更新properties标签中的变量就行了,不用更新所有依赖的版本号
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。