Maven deploy:deploy-file 从文件中删除扩展名
Maven deploy:deploy-file removes extension from file
我正在尝试使用 deploy-file
目标将签名文件单独部署到 Nexus 暂存存储库,但我注意到 mvn deploy 插件删除了扩展。我的文件是这样的:azerty-0.1.jar.asc
但部署的文件是:azerty-0.1.asc
我尝试添加分类器:-Dclassifier=jar
部署的文件是:azerty-0.1-jar.asc
这似乎是一种奇怪的行为。
问题:有什么解决方法吗?
这是相当正常的行为,Maven 使用文件扩展名作为人工制品 packaging
,来自 maven-deploy-plugin
、deploy-file
, packaging
选项:
Type of the artifact to be deployed. Retrieved from the <packaging>
element of the POM file if a POM file specified. Defaults to the file extension if it is not specified via command line or POM.
注:粗体是我的。
此外,classifier
选项确实会在版本和作为分类器提供的字符串之间添加一个 -
:那是 Maven convention.
在您的情况下,您想要指定一个特殊的 packaging
,如果您确实希望远程文件具有扩展名 jar.asc
,则为 jar.asc
。
以下将因此起作用:
mvn deploy:deploy-file -Dfile=azerty-0.1.jar.asc -Dpackaging=jar.asc -DrepositoryId=your_id -Durl=http://your_repository -DgroupId=your_groupId -DartifactId=azerty -Dversion=0.1
注意 -Dpackaging=jar.asc
有效地告诉 Maven 文件扩展名是 jar.asc
.
作为一般说明,如果您将存储库用作构建存储,那仍然是合理的,否则在您的情况下,您将向 Maven 存储库推送一个工件,这将很困难(或者更奇怪)在项目中导入。
如果这确实是您项目的附加工件,您应该查看 build-helper-maven-plugin
的 attach-artifact
目标,以有效地将其定义为附加工件,然后 Maven 将自动添加它到其 install
和 deploy
阶段。
我正在尝试使用 deploy-file
目标将签名文件单独部署到 Nexus 暂存存储库,但我注意到 mvn deploy 插件删除了扩展。我的文件是这样的:azerty-0.1.jar.asc
但部署的文件是:azerty-0.1.asc
我尝试添加分类器:-Dclassifier=jar
部署的文件是:azerty-0.1-jar.asc
这似乎是一种奇怪的行为。
问题:有什么解决方法吗?
这是相当正常的行为,Maven 使用文件扩展名作为人工制品 packaging
,来自 maven-deploy-plugin
、deploy-file
, packaging
选项:
Type of the artifact to be deployed. Retrieved from the
<packaging>
element of the POM file if a POM file specified. Defaults to the file extension if it is not specified via command line or POM.
注:粗体是我的。
此外,classifier
选项确实会在版本和作为分类器提供的字符串之间添加一个 -
:那是 Maven convention.
在您的情况下,您想要指定一个特殊的 packaging
,如果您确实希望远程文件具有扩展名 jar.asc
,则为 jar.asc
。
以下将因此起作用:
mvn deploy:deploy-file -Dfile=azerty-0.1.jar.asc -Dpackaging=jar.asc -DrepositoryId=your_id -Durl=http://your_repository -DgroupId=your_groupId -DartifactId=azerty -Dversion=0.1
注意 -Dpackaging=jar.asc
有效地告诉 Maven 文件扩展名是 jar.asc
.
作为一般说明,如果您将存储库用作构建存储,那仍然是合理的,否则在您的情况下,您将向 Maven 存储库推送一个工件,这将很困难(或者更奇怪)在项目中导入。
如果这确实是您项目的附加工件,您应该查看 build-helper-maven-plugin
的 attach-artifact
目标,以有效地将其定义为附加工件,然后 Maven 将自动添加它到其 install
和 deploy
阶段。