maven 插件依赖项强制成为插件
maven plugin dependencies forced to be plugins
我正在制作一个新的 maven 插件。
它基本上只允许发布到本地 Maven 存储库的 JAR 中的程序在 Maven 生命周期中 运行。
因此,该插件需要该 JAR,并且它被列为依赖项。在目标计算机(没有安装 JAR)中,在 maven 依赖插件执行期间,它将尝试从插件 repo 下载该 JAR。这是它失败的地方。
当尝试从存储库下载 JAR 时,使用了错误的 JAR URL。它没有使用 URL 下载 lib 依赖项,而是使用 URL 下载插件。
我如何设置 maven,以便 maven 下载依赖于使用库 URL 而不是插件 url 的 JAR,当它 运行 作为 maven 插件时?
尽管如此,maven 插件依赖项并不强制成为插件。真正发生的是在插件存储库中搜索 Maven 插件依赖项。
在我的例子中,为了解决这个问题,我添加了我在 <repositories>
中指定的存储库并将它们复制到 <pluginRepositories>
内部,同时将 <repository>
替换为 <pluginRepository>
.
注意:设置文件位于 ~/.m2/settings.xml
或 %userprofile%\.m2\settings.xml
中,具体取决于 OS。
我正在制作一个新的 maven 插件。
它基本上只允许发布到本地 Maven 存储库的 JAR 中的程序在 Maven 生命周期中 运行。
因此,该插件需要该 JAR,并且它被列为依赖项。在目标计算机(没有安装 JAR)中,在 maven 依赖插件执行期间,它将尝试从插件 repo 下载该 JAR。这是它失败的地方。
当尝试从存储库下载 JAR 时,使用了错误的 JAR URL。它没有使用 URL 下载 lib 依赖项,而是使用 URL 下载插件。
我如何设置 maven,以便 maven 下载依赖于使用库 URL 而不是插件 url 的 JAR,当它 运行 作为 maven 插件时?
尽管如此,maven 插件依赖项并不强制成为插件。真正发生的是在插件存储库中搜索 Maven 插件依赖项。
在我的例子中,为了解决这个问题,我添加了我在 <repositories>
中指定的存储库并将它们复制到 <pluginRepositories>
内部,同时将 <repository>
替换为 <pluginRepository>
.
注意:设置文件位于 ~/.m2/settings.xml
或 %userprofile%\.m2\settings.xml
中,具体取决于 OS。