gpt4 book ai didi

java - 特定于平台的 Maven 依赖关系

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:20 25 4
gpt4 key购买 nike

Here is the Maven Repository我正在尝试使用。我的 pom.xml 中的片段:

<dependency>
<groupId>edu.wpi.cscore.java</groupId>
<artifactId>cscore</artifactId>
<version>1.0.2</version>
</dependency>

运行时,它会很好地获取 cscore-1.0.2.pom 文件,但随后它会搜索不存在的 cscore-1.0.2.jar - 如果您查看存储库,每个 JAR 都是特定于平台的,并相应命名(例如 cscore-1.0.2-linux.jar)。

我已经尝试过:

<dependency>
<groupId>edu.wpi.cscore.java</groupId>
<artifactId>cscore</artifactId>
<version>1.0.2</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>edu.wpi.cscore.java</groupId>
<artifactId>cscore</artifactId>
<version>1.0.2-linux</version>
<type>jar</type>
</dependency>

它可以很好地获取 cscore-1.0.2.pom ,但随后它会在 1.0.2-linux/ 目录中查找 JAR,而该 JAR 根本不存在。有没有办法告诉 Maven 它正在寻找的 JAR 文件将被命名为其他名称?或者这根本就不是一个有效的 Maven 存储库?

谢谢!

最佳答案

应该有一个[并且只有一个] Artifact 可通过坐标[group-id、artifact-id、version]进行寻址。

这些特定于平台的 Artifact 可能是手动推送到存储库中的,并且无法通过预期的 Maven 依赖项 POM 元素单独引用。

最简单的短期解决方案是手动提取依赖项,并在本地存储库中使用其自己唯一的 Maven 坐标安装每个依赖项。然后使用项目 POM 中元素的本地坐标引用该 Artifact 。

不幸的是,这使得 maven 无法自动检测并下载远程存储库中较新版本的 Artifact 。

长期的解决方案是向外部依赖项项目的维护者请愿,要求他们重新考虑如何识别和安装特定于平台的 Artifact 。

关于java - 特定于平台的 Maven 依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42743406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com