Maven, как и Java, представляет собой единый механизм наследования, то есть в pom-файле maven также может быть родительская метка (родительский класс),
и тогда родительский класс dependencyManagement
управляет зависимостями, а подклассы выборочно наследуются.
каждый.
Как и в приложении springboot, по умолчанию будет родительский родительский класс spring-boot-starter-parent
, но что мне делать, если я хочу наследовать зависимости в другом pom сейчас?
Недавно я изучал springcloud и нашел способ писать, я очень запутался в начале, и я никогда не видел его раньше.
<dependencyManagement>
<dependencies>
<!-- <scope>import</scope>解决单继承问题,类似parent标签, -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
Понимая, это означает ввести (импортировать) spring-cloud-dependencies
этот файл pom, а затем dependencyManagement
определить множество зависимостей в этом pom, мы можем выборочно наследовать (достичь роли, аналогичной родительскому тегу, и решить проблему одиночного наследования)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<!-- 这里会自动引入版本,类似parent标签继承 -->
</dependency>
- 1
- 2
- 3
- 4
- 5
Поэтому мне не нужно писать номер версии, он напрямую наследуется от импортированного (введенного) файла pom.