gpt4 book ai didi

java - pom为3个应用程序使用Spring-mvc的公共(public)依赖

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

我有一个名为“general-lib”的依赖项,它将由 3 个团队修改和使用。

  • Admin、Child-ABC 和 Child-XYZ 就是这 3 个项目。那3个应用程序部署在同一服务器上。
  • Child-XYZ 和 Child-ABC 正在与经常管理应用程序。
  • 当我们更改 General-lib 版本时,我想要子应用程序也应该使用与管理应用程序相同的版本。

最后,应该在 super 应用程序中管理特定的依赖项版本。

有什么可以做到的吗?如果我需要更好地解释,请告诉我。

最佳答案

您可以定义一个BOM( Material list ),您可以在其中移动通用的dependecyManagement Artifact ,然后将其声明为您的 3 个项目中的父项目。这是 BOM 的示例:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>your.group.id</groupId>
<artifactId>whatever-BOM</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>

<properties>
<general-lib.version>1.0.2</general-lib.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>your.groupid</groupId>
<artifactId>general-lib</artifactId>
<version>${general-lib.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>

有关BOM的更多详细信息,您可以阅读文章 Spring with Maven BOM即使与Spring相关,也会详细解释什么是BOM以及如何使用它们。

另一种可能性是将这 3 个项目定义为更高级别项目的模块,并在其中管理 dependencyManagement

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>your.group.id</groupId>
<artifactId>whatever</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>Admin</module>
<module>Child-ABC</module>
<module>Child-XYZ</module>
</modules>
<packaging>pom</packaging>

<properties>
<general-lib.version>1.0.2</general-lib.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>your.groupid</groupId>
<artifactId>general-lib</artifactId>
<version>${general-lib.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>

关于java - pom为3个应用程序使用Spring-mvc的公共(public)依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46935878/

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