gpt4 book ai didi

java - 分析不同分支的 Maven 依赖关系

转载 作者:行者123 更新时间:2023-12-01 10:35:35 25 4
gpt4 key购买 nike

我使用 spring 框架(主项目),并且同一项目(分支)有两个主要版本。

  • 第一个是“纯”spring 框架,使用 pom 内手动配置的包依赖项。
  • 第二个是针对 spring boot 的,由于 spring-boot 自动化(关于依赖关系),它在 pom 中的依赖关系略有不同。

问题:有没有一种方法可以将这两个不同的 pom 依赖项放在一个文件中(类似于配置文件)?或者还有其他更好的解决方案来保留这两种配置吗?

最佳答案

您可以使用 Maven 配置文件为特定 Maven 配置文件提供单独的插件或依赖项,例如:

<profiles>
<profile>
<id>profile-1</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>com.example.xyz</groupId>
<artifactId>library-1</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>profile-2</id>
<dependencies>
<dependency>
<groupId>com.example.xyz</groupId>
<artifactId>library-2</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.example.xyz</groupId>
<artifactId>library-3</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</profile>
</profiles>

在这种情况下,如果您在构建时使用-P profile-1,则会添加library-1。使用-P profile-2它将包含library-2和library-3。

<小时/>

虽然我并不完全清楚您的用例,但听起来这根本不是一个项目。我的意思是,如果您有一个项目,那么您切换 Spring boot/非 Spring boot 对我来说似乎很奇怪。

如果您有多个项目需要相同的类,您始终可以创建一个包含这些类的单独模块。然后您可以使用:

@ComponentScan(basePackages = "com.example.common.library")

现在您的共享类将由您的 Spring boot 和非 Spring boot 项目使用。

<小时/>

如果您正在特定项目上尝试 Spring boot 或者您正在从 vanilla Spring 转换为 Spring boot,那么您应该使用 VCS(如 Git)来处理该问题,创建一个新分支来开发您的 Spring boot应用程序并在完成后将其合并到您的主分支中。

关于java - 分析不同分支的 Maven 依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34762362/

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