具有不同依赖项配置的Maven构建

可以提供:

我正在一个大型产品线中工作,在该产品线中,我们可以在运行时链接依赖项(jar)。我们有多个客户,每个客户使用不同的功能集,即一组不同的罐子。由于价格根据我们提供的功能集而变化,因此我们只希望根据客户在每个版本中包括必要的jar。

让我用一个例子来阐明它。假设我有4个罐子:A,B,C,D我们有三个客户,我们只释放下面给他们的每个罐子:

  • 客户1: A,B,C
  • 客户2: B,C,D
  • 客户3: B,D

当前,我们有不同的可执行文件,其中每个文件都有不同的Maven依赖关系(customer1可执行文件取决于A,B,C)。但是,客户的数量增加了,因此配置集的数量也增加了,因此他们希望我研究一种更具模块化的方式来获取具有不同依赖关系的版本。我可以从哪里开始这项研究?对依赖项集进行参数化并将该参数传递给release命令对我来说很有意义,但我不知道如何实现。您对此有任何建议或经验吗?

注意:如果重要的话,我们使用Jenkins发行。

fredericrous:

我要做的是每个客户端都有pom.xml并在其中具有依赖项。

如果您想尝试包括jenkins的模块化方式,我看到的解决方案是:

  • 制作Maven配置文件,例如3个配置文件ABC,BCD,BD。充当参数
  • 做一个詹金斯工作,需要一个像ABC这样的字符串参数
  • 建立命令mvn install -PABC

更加模块化的解决方案:

  • 使用gradle,这意味着:将pom转换为gradle buid文件
  • (可选)根据您在构建文件中使用“应用”所包含的常规文件配置默认情况下包括哪些依赖项
  • 使用gradle参数包含依赖项并覆盖默认依赖项
  • 做一个詹金斯工作,需要像dep1,dep2,dep3这样的参数字符串
  • 将该字符串拆分为一个数组,然后迭代以构建命令gradle -Pdep1 -Pdep2 -Pdep3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为具有钻石依赖项的构建者配置buildbot

具有依赖项的Maven构建程序集

不同构建配置文件的不同依赖项

具有依赖项的Maven依赖项插件复制jar

如何:Eclipse Maven安装具有依赖项的构建jar

具有 jar 依赖项的 Spring Boot 应用程序在 maven 构建后不会运行

如何解决具有不同时期号的构建依赖项?

基于柯南配置文件具有不同版本的依赖项

Maven从不同的依赖项中动态排除具有相同名称的类

排除并重新导入具有不同版本的Maven依赖项

Maven依赖在具有不同范围的依赖中

Tycho构建具有对SWT和RAP的可选依赖项

使用Gradle构建具有依赖项的jar

如何正确构建具有依赖项的 .jar 工件?

Maven:如果工件具有自己的依赖关系,如何构建?

具有本地依赖项的Maven项目中的NoClassDefFoundError

Maven部署具有依赖项的jar进行回购

具有测试范围的递归Maven依赖项

Maven 无法编译具有依赖项的项目

无法运行具有 maven 依赖项的 OSGi 包

mvn 依赖项具有不同 jar 的相同版本

Maven可传递依赖项具有范围编译,而依赖项提供了范围

为什么具有范围“提供”的依赖项在Maven中隐藏了传递性依赖项?

如何配置Eclipse构建路径以使用Maven依赖项?

具有此名称的Maven构建配置已存在

Eclipse Maven构建未安装依赖项

在检查联系之前,Maven构建依赖项

具有不同“配置文件”的Angular ng构建

Maven私有依赖项