gpt4 book ai didi

带有插件/扩展的定制构建的 Maven 最佳实践?

转载 作者:行者123 更新时间:2023-12-03 23:45:16 26 4
gpt4 key购买 nike

我正在寻找有关如何构建由多个模块组合组成的 Artifact 的建议,而无需为所有可能性重复大量样板:
我们有一个部署为 .war 的软件进入 Tomcat 并作为 .amp进入在同一个 Tomcat 实例上运行的 Alfresco。
与 Alfresco/.amp 相关的一切没关系对于问题的范围。为简单起见,只假设一个 .war关于 Maven 的神器。
我们使用开放核心模型并有一个免费版本,其中包含一些以 .amp 结尾的代码。和 .war包含 Angular-Frontend 和几个后端库的文件。
目前我们的软件中有两个插件 - 每个插件都提供一个额外的 .amp文件 添加 .jar/config 文件到.war而且我们有很多扩展 - 每个扩展都覆盖/扩展了一些 Angular-Frontend 文件,并将 XML 配置添加到 .war和/或 .amp现在,我正在尝试从一个古老的基于 ant 的build设置迁移到 Maven,该build设置基本上只是在基本安装的部署时间复制插件/扩展。
我需要能够创建如下配置:core + plugin-a + extension-bcore + plugin-a + plugin-b + extension-c - 这样我就有了几个.amp Artifact 和单个 .war每个配置的 Artifact 。
如果还可以聚合像 core + plugin-a + plugin-b + extension-c + extension-d 这样的扩展,那就太好了。
目前我正在为 .war 使用 maven 程序集插件。角度的 maven-frontend-plugin 和 assembly-plugin 只是将编译的 Artifact 复制到 war 中。.war本身就是一个 Maven 模块。
我可以继续这个策略,为每个扩展和每个插件创建模块,但是我需要一个用于 的模块每扩展和插件的可能组合。
更糟糕的是,一些扩展/插件是商业的并且存在于不同的存储库中——所以我不能只是将所有内容都添加到开放核心 POM 中。
我已经查看了配置文件,但我不确定这是否能解决我的问题——因为我需要一个用于所有子模块的中央注册表之类的东西?
有人认为 mvn clean package -Pextension-a,extension-b,plugin-a创造 Artifact 会很棒。
如何用 Maven 解决这个问题?是否有具有这些要求的项目,我可以在那里查看它是如何解决的?

最佳答案

这个答案有点投机,因为我对 Alfresco 一无所知。
您是否考虑过编写一个 Maven 插件来下载扩展/插件(可能是您存储库中的 zip 文件?),将其解压缩并将其应用到您的项目中?
然后你可以用不同的扩展/插件列表调用 maven 插件。

关于带有插件/扩展的定制构建的 Maven 最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63192435/

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