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

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

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

java 复制代码
<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) 标签:)

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

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

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

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

[2、 我们进行一个写法的修改。](#2、 我们进行一个写法的修改。)

3、这样做的好处。


一、介绍与分析

(1) 标签:<properties>

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

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

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

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

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

1、举个例子:上篇博客设置的依赖(servlet 3.1.0 版本)
java 复制代码
<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 看成一个变量。具体修改后代码如下:

java 复制代码
<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>
java 复制代码
<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> ,就方便很多了。

相关推荐
零基础1234 分钟前
PDF 处理工具全攻略:pdf24、PDFgear、Adobe Acrobat DC 与 Stirling-PDF 深度对比
java·开发语言·pdf
SL_staff19 分钟前
制造业数字化协同:为什么甘特图只是起点,不是终点
java·开源·全栈
anew___36 分钟前
《从零手写操作系统 (29):管道与重定向进阶——命名管道、Here Document与Shell语法扩展》
java·开发语言·前端·javascript·网络
Mikko741 分钟前
JVM 线上排查实战(六):JFR 怎么用?JDK 8 要不要加 UnlockCommercialFeatures、jfr 命令在哪、录的文件为什么读不了
java·运维·jvm·后端
奇牙coding1 小时前
GPT-5.5 API 报 401 但 GPT-5.4 正常怎么办?不是 Key 失效,是 Organization 头的强制校验变了
java·网络·gpt·ai
a努力。1 小时前
Context-State-Memory三重信息架构揭秘
java·服务器·前端
captain3761 小时前
Maven
java·后端·idea
liangshanbo12152 小时前
主系统登录后,子系统怎么实现自动登录?
java·网络·数据库
ShineWinsu2 小时前
对于Redis:缓存的解析
java·redis·缓存·缓存穿透·缓存击穿·缓存雪崩·缓存预热
rannn_1112 小时前
【Java面试题】高频面试题1|Java 后端、MySQL、Redis 与 RAG 面试整理
java·jvm·数据库·后端·面试