如果项目的版本foo
是1.0-SNAPSHOT
,应该运行命令
mvn install -Dclassifier=bar
安装foo-1.0-SNAPSHOT-bar.jar
在我的本地.m2
目录中?我试过这样做,但它会安装foo-1.0-SNAPSHOT.jar
并且maven install plugin-Dclassifier
并没有提供关于该选项的太多细节。
有没有办法安装(本地)带有分类器的 jar?
如果项目的版本foo
是1.0-SNAPSHOT
,应该运行命令
mvn install -Dclassifier=bar
安装foo-1.0-SNAPSHOT-bar.jar
在我的本地.m2
目录中?我试过这样做,但它会安装foo-1.0-SNAPSHOT.jar
并且maven install plugin-Dclassifier
并没有提供关于该选项的太多细节。
有没有办法安装(本地)带有分类器的 jar?
该-Dclassifier
参数与目标相关联,该install:install-file
目标不是默认构建生命周期的安装阶段执行的目标。相反,它用于以临时命令行方式安装辅助工件。换句话说,它用于在正常运行的 maven 构建的上下文之外将内容粘贴到存储库中。
当您使用 调用默认构建生命周期时mvn install
,他的安装阶段会执行[install:install][1]
目标。因此,当您执行时mvn install -Dclassifier=bar
,您执行了默认的构建生命周期,并且该参数没有用于任何事情。
install:install
正如文档中所述,目标是安装以及primary artifact
akasecondary
工件attached
。您的构建生成的 jar 是主要工件。它没有分类器。所有附加的工件都需要第四个 maven 坐标来从主要工件中唯一地识别它们。这个坐标就是分类器。
除非您附加了工件,否则您不需要分类器。附加的工件来自哪里?除了主要工件之外,它们是您的构建产生的东西。因此,它可能是由程序集插件构建的。它可能是另一个包含项目源文件的 jar,等等。分类器由附加辅助工件的机制确定,例如程序集插件。