【发布时间】:2017-12-29 03:47:13
【问题描述】:
我需要通过 Ivy 解析一个 jcuda 本机库,但我在找到定义依赖项的正确方法时遇到了一些麻烦。
我正在使用 Artifactory 进行依赖管理,它正确识别并解决了所有可用平台的各个本机库版本(见屏幕截图):
但是,我被困在了解决方案上
Ivy 产生的错误显示了正确的解析路径。
【问题讨论】:
标签: eclipse ant dependency-management artifactory ivy
我需要通过 Ivy 解析一个 jcuda 本机库,但我在找到定义依赖项的正确方法时遇到了一些麻烦。
我正在使用 Artifactory 进行依赖管理,它正确识别并解决了所有可用平台的各个本机库版本(见屏幕截图):
但是,我被困在了解决方案上
Ivy 产生的错误显示了正确的解析路径。
【问题讨论】:
标签: eclipse ant dependency-management artifactory ivy
我在这些库的原始 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>
【讨论】: