运行mvn dependency:list后依赖旁[auto]标签的含义
关于Maven依赖列表中[auto]标识的含义
[auto]标识是Maven处理**Java平台模块系统(JPMS)**依赖时的标记,具体含义如下:
- 它代表该依赖的模块名称是Maven自动推导生成的,而非依赖JAR包中
module-info.class文件里显式声明的模块名。 - 你显式声明的
spring-boot-starter-web这类Spring Boot starter属于聚合型空JAR,本身不包含module-info.class模块声明。Maven会自动将其artifactId转换为符合JPMS规范的模块名(比如把spring-boot-starter-web转为spring.boot.starter.web),因此会加上[auto]标记。 - 像
ch.qos.logback:logback-classic这类依赖的JAR中包含了显式的module-info.class,明确声明了模块名ch.qos.logback.classic,所以不会出现[auto]标记。
这个标记仅用于区分模块名的来源,不影响依赖的正常引入和使用,和你是否在pom.xml中显式声明依赖没有关联——哪怕显式声明了依赖,只要该依赖JAR没有自带模块声明,Maven就会自动推导模块名并添加[auto]标识。
内容的提问来源于stack exchange,提问作者Kasandrop
相关产品推荐
相关产品推荐

