pom依赖不用指定版本号

引入parent, parent会默认指定其他依赖的版本号,当然也可以自己指定,这样会覆盖掉parent指定的版本号。

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.1.RELEASE</version>
		<relativePath />
	</parent>
	
	<dependencies>
		<!-- SpringBoot Web容器 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- 自定义验证注解 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-validation</artifactId>
		</dependency>
	</dependencies>
### Maven 中 POM 文件底层依赖版本号的查找方法 在 Maven 的 `pom.xml` 文件中,如果需要查找某个底层依赖版本号,可以通过以下方式实现: #### 1. **利用 Dependency Management** 当父项目的 `dependencyManagement` 部分定义了某些依赖项及其版本号时,这些版本会被传递给所有的子模块。因此,在子模块中引入该依赖时可以省略 `<version>` 字段[^1]。 例如: ```xml <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.10</version> </dependency> </dependencies> </dependencyManagement> ``` 在这种情况下,即使子模块只写了如下内容,也会继承来自父级配置中的版本号: ```xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency> ``` #### 2. **查看实际解析后的依赖树** 为了确认最终使用的具体版本号,可运行命令来生成完整的依赖关系图。这有助于了解哪些间接依赖被加载以及它们的实际版本是什么。 ```bash mvn dependency:tree ``` 此命令会打印出当前工程的所有直接和间接依赖,并标注其对应的版本号[^2]。 #### 3. **插件管理的影响** 除了普通的依赖外,有时还需要关注构建过程中涉及的各种插件版本控制情况。这部分通常由 `pluginManagement` 节点负责处理[^3]。虽然它主要针对的是工具类扩展而非业务逻辑组件,但对于全面理解整个环境仍然重要。 --- ### 示例代码展示如何定位特定依赖的真实版本 假设我们想验证 spring-context 是否按照预期设置成了 5.3.10,则可以在终端执行上述提到的方法或者手动查阅 pom 文档结构之后再做进一步判断。 以下是模拟的一个简单例子用于演示目的: ```xml <!-- Parent Project --> <project xmlns="http://maven.apache.org/POM/4.0.0"> ... <dependencyManagement> <dependencies> <!-- 定义统一管理的 Spring 版本 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.10</version> </dependency> </dependencies> </dependencyManagement> </project> <!-- Child Module --> <project xmlns="http://maven.apache.org/POM/4.0.0"> ... <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> </dependencies> </project> ``` 通过以上配置可以看出 child module 并未重复指定 version 属性值,而是依靠 parent project 提供的标准设定完成初始化工作流程。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值