【问题标题】:cannot deploy zip to Nexus无法将 zip 部署到 Nexus
【发布时间】:2023-03-25 11:10:02
【问题描述】:

我正在尝试使用 mvn deploy:deploy-file 将 zip 文件(由外部进程创建)检入 Nexus。

当我从命令行 (Win) 运行时,一切正常,我可以在我的快照存储库中看到 pom 和 zip。但是,如果我在 Jenkins 中使用 maven 工作来做同样的事情,我会收到以下错误:

[ERROR] [ERROR] 在处理 POM 时遇到了一些问题: [错误] 未知包装:zip @ 第 6 行,第 13 列

pom 看起来像:

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.test.app</groupId>
<artifactId>testApp</artifactId>
<version>1.0.0.0-SNAPSHOT</version>
<packaging>zip</packaging>
</project>

mvn 命令是:

mvn deploy:deploy-file -DpomFile=d:\testApp.pom -Dfile=d:\testapp.zip
-DrepositoryId=snapshots 
-Durl=http://localhost:8081/nexus/content/repositories/snapshots

如果我使用了错误的包装,为什么它适用于一个而不适用于另一个?

【问题讨论】:

  • 您也在使用 Windows 从站吗?
  • 制作打包 pom 并使用 build-helper-maven-plugin 并在运行期间将 zip 文件附加到项目中...
  • 没有奴隶,一切都在一个盒子上运行。会看看另一个插件,但我不明白为什么它在 Jenkins 之外工作?当然,詹金斯所做的只是调用相同的目标等。

标签: maven jenkins pom.xml


【解决方案1】:

本页描述标签:http://maven.apache.org/pom.html#Maven_Coordinates

它说,我引用:

目前核心封装值为:pom、jar、maven-plugin、ejb、war、ear、rar、par。

其他插件可以在修改生命周期时添加额外的打包类型。

此信息适用于 pom.xml 中的标签。

可能的解决方案:如果您注释掉或删除 zip,它将停止失败并显示错误消息。

这意味着当您可以使用带有多个 -D 选项的命令时

mvn deploy:deploy-file ... -Dfile=somefile.zip -Dpackaging=zip

将文件发布到 Nexus 或 Artifactory 等 maven 存储库。 Maven 不会抱怨,因为它只检查标签的有效性。

但是,如果您正在使用 Maven 做其他事情并且任何事情都需要您设置包装类型,那么您将需要找到另一个解决方案。

【讨论】:

    猜你喜欢
    • 2013-08-11
    • 2014-03-18
    • 2012-06-30
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    相关资源
    最近更新 更多