基于Maven pom文件中属性变量总结

目录
  • Maven pom文件属性变量总结
    • 1.内置属性
    • 2.POM属性
    • 3.自定义属性
  • 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标签中的变量就行了,不用更新所有依赖的版本号

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Maven配置文件pom.xml详解

    什么是POM? POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml.在Maven中,当谈到Project的时候,不仅仅是一堆包含代码的文件.一个Project往往包含一个配置文件,包括了与开发者有关的,缺陷跟踪系统,组织与许可,项目的URL,项目依赖,以及其他.它包含了所有与这个项目相关的东西.事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件. 概览 下面

  • java 中maven pom.xml文件教程详解

    maven pom.xml文件教程详解,具体内容如下所示: <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 http://maven.apache.org/maven-v4_0_0.x

  • 基于Maven的pom.xml文件详解

    如下所示: <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 http://maven.apache.org/maven-v4_0_0.xsd "> <!-- 父项

  • Maven中pom.xml配置文件详细介绍

    setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件:而pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件. 基础配置 一个典型的pom.xml文件配置如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org

  • 基于Maven pom文件中属性变量总结

    目录 Maven pom文件属性变量总结 1.内置属性 2.POM属性 3.自定义属性 Maven pom变量定义 定义变量并赋值 Maven pom文件属性变量总结 1.内置属性 ${basedir}表示当前项目根目录 ${version}表示当前项目版本 2.POM属性 ${project.artifactId} 等价于元素的值 个人理解,本质上每个标签底层是通过对象的引用实现,也同样存在继承特性(仅仅是个人理解,供参考). 以此类推,可以发现很多这一类的属性定义. 类似地 ${projec

  • Maven Pom 文件中的隐式依赖导致Jar冲突问题

    目录 在maven项目中遇到这样一个场景 解决了上述冲突的问题 Maven 查看jar包依赖关系 在maven项目中遇到这样一个场景 项目中的pom文件中,依赖了Spring-core,而Spring-core又隐式的依赖了commons-logging. 项目中同时配置了对定时任务quartz 包的依赖,而quartz又隐式依赖了slf4j. 这样项目中既有了commons-logging又有了slf4j.导致在log4j.properties里配置的mybatis的sql显示配置,一直没起作

  • pom文件中${project.basedir}的使用

    目录 ${project.basedir}的使用 这块配置就是定义自己的项目目录结构 Maven的六类属性,${project.basedir},${project.build.directory} 内置属性 POM属性 自定义属性 Settings属性 Java系统属性 环境变量属性 在依赖中使用pom变量 在插件中使用pom变量 自定义变量 ${project.basedir}的使用 <project> 是 pom.xml 的根节点,project.basedir 就是根节点的下级节点,缺

  • 关于springboot 配置文件中属性变量引用方式@@解析

    这种属性应用方式是 field_name=@field_value@. 两个@符号是springboot为替代${}属性占位符产生,原因是${}会被maven处理,所以应该是起不到引用变量的作用. @@方式可以引用springboot非默认配置文件(即其他配置文件)中的变量: springboot默认配置文件是 src/main/resources/application.properties 补充知识:springboot项目使用@Value注解获取配置文件中的配置信息 application

  • 查看TensorFlow checkpoint文件中的变量名和对应值方法

    实例如下所示: from tensorflow.python import pywrap_tensorflow checkpoint_path = os.path.join(model_dir, "model.ckpt") reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path) var_to_shape_map = reader.get_variable_to_shape_map() for key in var_

  • vue-cli4使用全局less文件中的变量配置操作

    目录结构如下: 需求: 在Navgation.vue中使用global.less中的变量 vue-cli3的配置方法如下:传送门 vue-cli4的配置方法如下: 安装 style-resources-loader npm i style-resources-loader -D 在 vue.config.js 中加上如下配置,没有则创建该文件,文件名不能改,如下: // vue.config.js const path = require('path') module.exports = { l

  • 关于iOS中属性变量setter与getter方法的理解

    关于成员变量.实例变量.属性变量 成员变量 @implementation ViewController { UILabel *textLabel; int count; } 成员变量是用于类的内部,无需与外界接触的变量.成员变量默认是protected,因为成员变量不会生成set.get方法,所以无法和外界接触,从上面代码可以看出来,成员变量是定义在{ }中的变量,如果变量的数据类型是一个类,就如:UILabel *textLabel;那么称这个变量为实例变量.所以实例变量也是成员变量的一种特

  • maven的pom文件与打包详解

    目录 一.基础配置 1.<parent> 标签 1)使用 spring-boot-starter-parent 2)使用自定义 parent 2.classifier 元素 3.classifier 的用途: 二.构建配置 字段说明 三.profile 配置 四.springboot 打包配置 打包插件 1.Maven 项目结构 2.打包时资源文件的配置 (1)打包 src/main/java 目录下的 xml (2)src/main/resources 目录下的 xml 等资源文件不被打包

  • 基于maven使用IDEA创建多模块项目

    鉴于最近学习一个分布式项目的开发,讲一下关于使用IntelliJ IDEA基于Maven创建多模块项目的实际开发,可能有不合适的地方,但是项目是可以跑通的,也请有不足之处,都提出来,一起讨论下. 一. 项目工程目录 首先展示一下,最终整个项目的工程目录: 简单介绍一下目录结构: common-parent为所有项目的父项目,主要用来管理所有项目使用的jar包及其版本. common-utils为公共的工具类项目,继承父项目,它会被打成jar包供其它项目使用. taotao-manager为我们自

  • springboot配置文件读取pom文件信息方式

    目录 配置文件读取pom文件信息 解决的问题 解决 修改后的写法 maven打包命令 可能会出现的一些问题 Pom文件依赖配置说明 scope依赖范围 配置文件读取pom文件信息 解决的问题 springboot(当然别的也可以)多环境切换需要修改配置文件硬编码,打包时不够方便. 解决 配置文件能读取pom文件中的配置,根据命令选择不同配置注入springboot的配置文件中 pom配置文件: <!-- 环境 --> <profiles> <!-- 开发 --> <

随机推荐