为啥 Ivy 无法解析我的配置
Posted
技术标签:
【中文标题】为啥 Ivy 无法解析我的配置【英文标题】:Why can't Ivy resolve my configurations为什么 Ivy 无法解析我的配置 【发布时间】:2014-09-16 03:17:06 【问题描述】:我有一个 Ivy 和 Artifactory 设置来发布和依赖构建。
在 Artifactory 中,我有一个 Ivy 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="org" module="module" branch="HEAD" revision="0.277-SNAPSHOT" status="integration" publication="20140724114055">
</info>
<configurations>
<conf name="compile" visibility="public" description="Default required to compile the full module"/>
<conf name="build" visibility="public" extends="compile" description="Incorporates additional build tools onto the classpath"/>
</configurations>
<publications defaultconf="compile">
<artifact name="module" type="jar" ext="jar"/>
<artifact name="module-src" type="source" ext="zip"/>
<artifact name="module-doc" type="doc" ext="zip"/>
</publications>
<dependencies>
<dependency org="junit" name="junit" rev="4.8.1" conf="compile->*"/>
<dependency org="net.sf.proguard" name="proguard" rev="4.11" conf="build">
<artifact name="proguard" ext="jar"/>
</dependency>
</dependencies>
</ivy-module>
当我在另一个项目中依赖这个模块时,我指定了编译配置,但 IvyDE 告诉我编译不存在。
<?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">
<info
organisation="org"
module="module2"
status="integration">
</info>
<configurations>
<conf name="compile" description="Default required to compile the full module" />
</configurations>
<dependencies>
<dependency transitive="true" org="org" name="module" rev="latest.integration" conf="compile">
<artifact name="module" type="jar" ext="jar" />
<artifact name="module-src" type="source" ext="zip" />
<artifact name="module-doc" type="doc" ext="zip" />
</dependency>
</dependencies>
</ivy-module>
通过此设置,我收到错误消息
"在 org#module 中找不到配置;0.277-SNAPSHOT: 'compile'"
如果将依赖项 conf 更新为 compile->*,我确实会获得 jar,但除非将它们明确定义为依赖项,否则我不会下载源代码或 javadoc。我还期望 junit 会出现在构建路径上,因为它被定义为编译依赖项,但是没有迹象表明它会出现,而我猜它不知道编译配置是什么。
请给点建议!
【问题讨论】:
【参考方案1】:这似乎是因为 Ivy 没有正确找到 artifactory 中的 ivy。使用 URL 解析器而不是 ibiblio 解析器并定义常春藤模式一切正常。
【讨论】:
以上是关于为啥 Ivy 无法解析我的配置的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Ansible 无法解析我的 azure 动态库存配置文件?
sbt/ivy 无法解析通配符 ivy 对文件系统解析器的依赖
ivy 无法解析 org.springframework 依赖项