使用分类器在本地安装maven项目

时间:2013-01-18 22:16:33

标签: maven maven-install-plugin

如果项目foo的版本为1.0-SNAPSHOT,则应运行命令

 mvn install -Dclassifier=bar

在我的本地foo-1.0-SNAPSHOT-bar.jar目录中安装.m2?我尝试过这样做,但它会安装foo-1.0-SNAPSHOT.jarmaven install plugin并未提供有关-Dclassifier选项的详细信息。

有没有办法安装(本地)带分类器的jar?

1 个答案:

答案 0 :(得分:2)

-Dclassifier参数与install:install-file目标相关联,这不是默认构建生命周期的安装阶段执行的目标。相反,它用于以ad hoc命令行方式安装辅助工件。换句话说,它是在正常运行的maven构建的上下文之外的存储库中粘贴东西。

当您使用mvn install调用默认构建生命周期时,安装阶段会执行[install:install][1]目标。因此,当您执行mvn install -Dclassifier=bar时,您执行了默认的构建生命周期,并且该参数未用于任何内容。

正如文档中所述,install:install目标会安装primary artifact以及secondary,即attached个工件。构建生成的jar是主要工件。它没有分类器。所有附加的工件都需要第四个maven坐标来从主工件中唯一地标识它们。该坐标是分类器。

除非您附加了工件,否则不需要分类器。附件是从哪里来的?除了主要工件之外,它们是构建产生的东西。因此,它可能是由程序集插件构建的。它可能是包含项目源文件的另一个jar等。分类器由附加辅助工件的机制决定,例如,程序集插件。