将 Maven 插件从本地 JAR 注入到项目中

问题描述 投票:0回答:1

假设我已经创建了自己的 Maven 插件,该插件作为 JAR 本地存储在某个任意目录中,但没有发布到本地 Maven 存储库。有没有办法,比如通过

mvn
命令行选项,将此插件 JAR“注入”到 Maven 构建/项目中,而该项目本身尚未声明对该插件的依赖关系?

如果这在单个

mvn
CLI 调用中无法直接实现(既注入插件 JAR 又执行该插件的目标),是否可以通过多步骤过程实现?就像,我假设我可以使用
install-file
插件中的
maven-install-plugin
目标首先将其发布到本地 Maven 存储库,但是接下来呢?然后我可以通过它的坐标而不是 JAR 的路径将它注入到 Maven 构建/项目中吗?

maven maven-plugin
1个回答
0
投票

这就是我现在想出的多阶段过程:

#!/bin/bash

POM_FILE=$1

# Pretent that the plugin is only available locally.
curl -o cyclonedx-maven-plugin.jar https://repo1.maven.org/maven2/org/cyclonedx/cyclonedx-maven-plugin/2.8.1/cyclonedx-maven-plugin-2.8.1.jar

# Install the plugin JAR to the local Maven repository in order to be able to refer to it via GAV coordinates.
mvn org.apache.maven.plugins:maven-install-plugin:3.1.3:install-file -Dfile=cyclonedx-maven-plugin.jar

# Run the plugin's "makeAggregateBom" goal on the provided POM file.
mvn org.cyclonedx:cyclonedx-maven-plugin:2.8.1:makeAggregateBom -f $POM_FILE

# Remove the downloaded plugin JAR.
rm cyclonedx-maven-plugin.jar

我仍然希望避免部署到本地 Maven 存储库的步骤,但我不知道如何引用该插件。

© www.soinside.com 2019 - 2024. All rights reserved.