Maven 重新分发现有 war(无命令行)

Maven redistribute existing war (no command line)

我有一个复杂的 Maven 项目,其构建工件会自动发布到 Nexus。

在源代码中,我有 Test.war: a WAR 由第三方按原样 提供。此类存档由他们手动构建,在 Nexus 中不可用,并且没有 GAV 标识符。

在我的复杂构建过程中,我需要“重新分发e”(或"rebuild"?)此提供war 使用新定义的 GAV 坐标(例如 test-group:Test-Web:1.0.0)。

注意:我不能执行像mvn deploy:deploy-file这样的命令,因为我们不能直接访问Nexus。将工件部署到 Nexus 的唯一方法是在构建期间生成工件,然后自动发布这些工件。

是否有人可以向我提供有关如何在构建期间重新部署这样的war的建议或示例?

我假设 "re-distribute" 你的意思是你的构建需要将 WAR 部署到不同 GAV 下的 nexus。

在这种情况下,您可以考虑使用 mvn deploy:deploy-file 插件。

部署插件的目标是将文件安装到远程存储库中,并允许指定要部署的工件文件的 GAV。

创建 WAR 时它不包含任何 GAV,GAV 仅用于识别 maven 存储库(远程或本地)中的工件。

你可以找一个例子here