当前位置: 首页 > news >正文

基于IDEA的Maven(properties属性配置)

property :财产)properties:它的复数。

同样也是基于上篇博客进行学习。(具体的全部项目代码和结构可以去查看上篇...)

<properties><!--当前jdk版本 , 这一步可以完全省略--><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><!--编码可以保留下来--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties>

目录

一、介绍与分析

(1)   标签: 

1、这个标签里面设置的当前 JDK 版本完全可以省略去掉。

2、编码的设置可以保留。

3、设置依赖的版本  (重点)

1、举个例子:上篇博客设置的依赖(servlet 3.1.0 版本)

2、 我们进行一个写法的修改。

3、这样做的好处。


一、介绍与分析

(1)   标签:<properties> 

可以理解成一个属性或者是一个变量。

1、这个标签里面设置的当前 JDK 版本完全可以省略去掉。

(因为平常在配置 Maven  的时候就已经绑定了 JDK 的版本了,而且在运行时环境变量也是要提前配置好 JDK 的版本)

2、编码的设置可以保留。
3、设置依赖的版本  (重点)

(这是通常在标签:<properties> 中写的东西 )

1、举个例子:上篇博客设置的依赖(servlet 3.1.0 版本)
<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><!--<scope>provided</scope>  这里先不管,注释掉,以后学--></dependency></dependencies>
2、 我们进行一个写法的修改。

第1步

我们可以在标签:<properties>中声明 servlet 3.1.0 依赖引用的版本。

常用的声明方式 <javax.servlet.version> ...... </javax.servlet.version>

(这是通常命名的一种方式,用它 " groupId "+ version 。)


第2步 

然后再在标签:<dependency> 中的标签 <version> 中引入变量,把javax.servlet.version 看成一个变量。具体修改后代码如下:

<properties><!--当前jdk版本 , 这一步可以完全省略--><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><!--编码可以保留下来--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><javax.servlet.version>3.1.0</javax.servlet.version></properties>
<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><!--引入变量--><version>${javax.servlet.version}</version><!--<scope>provided</scope>  这里先不管,注释掉,以后学--></dependency></dependencies>
3、这样做的好处。

    首先是可以统一管理版本。因为如果以后要将 servlet 版本换了之后,就统一找到标签:<properties> 在它里面修改一下就好了。因为以后在开发项目时,它的标签:<dependencies> 里面的依赖是非常的多的,不方便寻找。

    还有一种情况是假如同一个 " groupId " 下面有很多种个不同的 artifactId " ,那么现在版本全部要升级,一个个改就会很麻烦。但是采用上面把版本的声明统一写在标签:<properties> ,就方便很多了。

  

http://www.lryc.cn/news/377142.html

相关文章:

  • 边缘计算(Edge Computing)_关键概念/优势/应用场景
  • idea关联gitlab仓库,访问报错
  • 【Hive】new HiveConf()时加载的配置浅析
  • Glide 缓存机制研究及同命名图片的替换回显
  • 一键简易桌签(带背景)-Word插件-大珩助手
  • 如何解决centos停止维护后更换Debian11平替?
  • 服务器雪崩的应对策略之----熔断机制
  • RestClient操作索引库和文档
  • 【设计模式深度剖析】【11】【行为型】【解释器模式】| 以算术表达式求值为例加深理解
  • MySQL8,Navicat能登陆成功,密码却忘记了
  • 游戏中的寻路算法研究
  • 【AWS SMB】关于AWS 中小型企业 (SMB) 能力介绍及注意事项
  • 中年之恋:重返青春的旅程
  • 人工智能中的监督学习和无监督学习
  • 深度学习500问——Chapter12:网络搭建及训练(1)
  • HuggingFace CLI 命令全面指南
  • FreeRTOS源码分析
  • python实战:将视频内容上传到社交媒体平台
  • 【深度学习】sdwebui A1111 加速方案对比,xformers vs Flash Attention 2
  • 5分钟了解单元测试
  • VSCode之C/C++插件之宏定义导致颜色变暗
  • 自然语言处理概述
  • 用Rust和Pingora轻松构建超越Nginx的高效负载均衡器
  • 华为云与AWS负载均衡服务深度对比:性能、成本与可用性
  • Vue65-组件之间的传值
  • Java零基础之多线程篇:线程生命周期
  • 技术差异,应用场景;虚拟机可以当作云服务器吗
  • Qt Quick 教程(一)
  • react钩子函数用法(useCallback、useMemo)
  • linux配置Vnc Server给Windows连接