【问题标题】:Is POM required for nexus artifacts?Nexus 工件是否需要 POM?
【发布时间】:2019-08-16 03:19:05
【问题描述】:

在我正在处理的项目中,我们使用 nexus 来存储二进制构建工件,然后在项目之间共享它们。我们的项目是 C++,我们不精通 java、maven 或 gradle,也不使用这些工具。这就是我寻求帮助的原因。

不幸的是,我的构建受到了两个团队之间的技术纠纷的影响。一组构建工件并将其上传到具有特定 GAV 坐标的 nexus。上传例程不会生成任何 POM 文件。根据这些人的说法,POM 并不是真正需要的——人们有一个脚本可以下载只有 GAV 坐标的工件(脚本只是将 GAV 组合成一个可下载的 URL)。

其他组有另一个下载脚本,即使请求精确的 GAV 坐标,也需要 POM 文件。根据这些人的说法,POM 是 maven2 存储库中每个工件的必需部分。

我试图用谷歌搜索,但我发现的所有信息都与 java 或 maven 相关。我没有发现任何纯粹的联系。

那么,在 nexus 中存储工件真的需要 POM 吗?

【问题讨论】:

    标签: pom.xml nexus artifacts


    【解决方案1】:

    不是必须的。

    您可以单独将 jar 放入 NXRM,例如,使用 curl(例如 curl --upload-file jtzapp-1.0.jar http://localhost:8081/repository/maven-releases/jtt/jtzapp/1.0/jtzapp-1.0.jar -u admin:admin123 -v)。

    大多数上传机制都为您提供了包含、需要或生成它的选项,因为它们假设您使用的是 maven 存储库,那么您使用的是 maven。

    我认为,在不了解有关您的使用情况的更多详细信息的情况下,尤其是在团队之间,您可以执行您在 NXRM3 的原始存储库中列出的相同操作。这可能就是为什么认为需要它的群体觉得应该使用它的原因。

    【讨论】:

    • 感谢您的回复。还有其他支持代理的存储库类型吗?
    • @OleksandrMasliuchenko 除了 git-lfs 之外,NXRM3 中的所有格式都支持代理。社区格式是最好的情况(不支持 Sonatype),如果缺少会询问您是否希望它考虑创建 PR 来提供帮助=)我不确定我是否理解您的问题,所以希望对您有所帮助。有关每种格式的更多信息,请参阅我们的文档:help.sonatype.com/display/NXRM3(每种格式都应该说明您能够代理并为您提供设置帮助)。
    猜你喜欢
    • 2021-08-23
    • 1970-01-01
    • 2011-03-12
    • 2011-08-07
    • 2018-12-01
    • 2021-07-12
    • 2016-12-07
    • 1970-01-01
    • 2011-05-01
    相关资源
    最近更新 更多