gpt4 book ai didi

java - 插件管理没有父pom的版本

转载 作者:行者123 更新时间:2023-12-02 10:57:03 24 4
gpt4 key购买 nike

我正在寻找一种方法让 spring boot 管理一些插件版本,而不使用 spring boot pom 作为我的父 pom。基本上我不想要一个父 pom(说来话长,但我不想要一个)。不过我仍然想要礼仪和插件的版本管理。我从 spring 文档中找到了以下解决方案来管理依赖项版本,但我找不到如何管理插件版本。是否有类似于以下逻辑的东西来管理我的插件的版本?

<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.4.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

下面是我希望实现的示例。在以前的项目中,我的父 pom 会处理我的一些插件的版本。

<plugin>
<groupId>some group<groupId>
<artifactId>some artifact</artifactId>
<version>I want this managed without a parent pom</version>

谢谢!

最佳答案

您需要自己管理。如文档所述,父级处理诸如 pluginManagement 之类的项目,而使用 BOM 无法获得这些项目。对于 Spring Maven 插件,您可以将其与您正在使用的任何版本的 BOM 绑定(bind),因为它们的版本相同。

If you do not want to use the spring-boot-starter-parent, you can still keep the benefit of the dependency management (but not the plugin management) by using a scope=import dependency, as follows:

https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-build-systems.html#using-boot-maven-without-a-parent

此外,Maven 文档中没有像插件的 BOM 这样的东西

This scope is only supported on a dependency of type pom in the section. It indicates the dependency to be replaced with the effective list of dependencies in the specified POM's section. Since they are replaced, dependencies with a scope of import do not actually participate in limiting the transitivity of a dependency.

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

编辑,

我确实找到了这个https://release-engineering.github.io/pom-manipulation-ext/guide/plugin-manip.html

这可能有用,具体取决于您的 POM 等的复杂程度以及您不想从 Spring 的父级继承的原因。

关于java - 插件管理没有父pom的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51642810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com