【问题标题】:Multiple-artifact resolution with Ivy使用 Ivy 进行多伪影分辨率
【发布时间】:2017-12-29 03:47:13
【问题描述】:

我需要通过 Ivy 解析一个 jcuda 本机库,但我在找到定义依赖项的正确方法时遇到了一些麻烦。

我正在使用 Artifactory 进行依赖管理,它正确识别并解决了所有可用平台的各个本机库版本(见屏幕截图):

但是,我被困在了解决方案上

Ivy 产生的错误显示了正确的解析路径。

【问题讨论】:

    标签: eclipse ant dependency-management artifactory ivy


    【解决方案1】:

    我在这些库的原始 Maven 定义中发现了一个提示(在我的本地 Ivy 缓存中找到,%HOME%\.ivy2\cache\org.jcuda\jcuda-natives\windows-x86_64\ivy-0.8.0.xml.original),它使用了以下分类器:

    <classifier>${jcuda.os}-${jcuda.arch}</classifier>

    在我的 Ivy 配置中,我不区分操作系统和架构,但使用串联分类器给我windows-x86_64,这是我正在寻找的 jar 文件。

    我需要将 Maven 命名空间 (xmlns:maven="http://maven.apache.org") 添加到 ivy.xml

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd" xmlns:maven="http://maven.apache.org">
    

    然后下面的依赖就可以使用maven:classifier来解析我要找的具体的原生库了:

        <dependency org="org.jcuda" name="jcuda-natives" rev="0.8.0">
            <artifact maven:classifier="windows-x86_64" ext="jar" />
        </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多